Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

SUBSTITUE(A1;".";",") en VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Re : SUBSTITUE(A1;".";",") en VBA

c'est une solution que j'avais aussi imaginée, mais la demande n'est pas claire

Code:
Comment écrit on la fonction =SUBSTITUE(A1;".";",") en VBA.

est ce une macro qui doit écrire la fonction ou une macro qui doit faire le remplacement ????
 
Re : SUBSTITUE(A1;".";",") en VBA

Bonsoir,
Je viens de tester la proposition de Dull, Ca marche très bien sur A1,
Mais je ne trouve pas la syntaxe pour faire plusieurs lignes du style

Sub Macro1()
Dim a As Integer
For a = 1 To 10
[A & a] = Replace([A & a], ".", ",")
Next a
End Sub

Merci d'avance et bonne soirée.
 
Re : SUBSTITUE(A1;".";",") en VBA

Bonsoir


S'il s'agit de données du type : 1250.00


Alors essai ce code

Code:
Sub remplacement()
[COLOR=Green]'merci à ROGER2327[/COLOR]
With Selection
    .TextToColumns Destination:=.Cells(1, 1), DecimalSeparator:="."
    .NumberFormat = "#,##0.00"
End With
End Sub
 
Re : SUBSTITUE(A1;".";",") en VBA

Bonjour,
Merci Staple1600.
Bon, décidément je pensais faire quelque chose de simple, mais ça ne marche pas.
En faite, dans une colonne latitude et une colonne longitude que je renseigne ou que je récupère en degrés et centième de degrés avec une virgule. Je veux remplacer la virgule par un point, car avec ces données je génère un fichier.kml que je peux ouvrir avec google earth avec toutes les positions renseignés. Mais il faut un point.
Avec les code de Staple1600 ou j’ai inversé la virgule et le point j’ai le message :
Erreur d’exécution 13
Incompatibilité de type
J'ai essayé de mettre mes colonnes au format Texte, mais même résultat.
Merci pour votre aide.
 

Pièces jointes

Re : SUBSTITUE(A1;".";",") en VBA

Bonsoir


Cela fonctionne non ?


Code:
Sub remplacement3()
'merci à ROGER2327
With Selection
    .TextToColumns Destination:=.Cells(1, 2), DecimalSeparator:=","
    .NumberFormat = "#.##0.00"
End With
End Sub
La même mais sans devoir faire de selection

Code:
Sub remplacement4()
'merci à ROGER2327
With Range([A1], [A65536].End(xlUp))
    .TextToColumns Destination:=.Cells(1, 2), DecimalSeparator:=","
    .NumberFormat = "#.##0.00"
End With
End Sub
 
Dernière édition:
Re : SUBSTITUE(A1;".";",") en VBA

Bonjour,
Merci beaucoup Staple1600 pour votre aide
Le code ci-dessous marche très bien.
Mais juste une question, pourquoi met tu 2 points dans le format "#.##0.00" ?
Avec 1 point j’obtiens exactement ce que je souhaite.

Sub remplacement4()
'merci à ROGER2327
With Range([A1], [A65536].End(xlUp))
.TextToColumns Destination:=.Cells(1, 1), DecimalSeparator:=","
.NumberFormat = "#.##000"
End With
End Sub

Je vais surement revenir vous voir dans un nouveau post pour transformer un nombre décimal en degrés minute et seconde et vis versa en VBA.
Mais avant je vais chercher si je trouve sur le forum.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
16
Affichages
583
Réponses
3
Affichages
255
Réponses
3
Affichages
465
Réponses
16
Affichages
553
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…