Microsoft 365 Utiliser VBA pour remplacer un symbole

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 !

ahmedhassanin

XLDnaute Nouveau
Bonjour à tous et à toutes,

Je commence à apprendre comment utiliser VBA, et je voulais mettre en place une formule dans un fichier ( pour l'instant vierge). le but de la formule sera de remplacer les "." par des ",". j'ai essayé d'utiliser la formule replace(variable,".",","), mais à chaque fois que je rajoute des chiffres au fichier et j'essaye d'exécuter la macro je reçois un message d'erreur de compilation disant numéro de ligne ou étiquette ou instruction ou fin d'instruction. Est ce que quelqu'un içi pourra m'aider à resoudre ce problème svp ?
 
Bonjour ahmedhassanin, et bienvenu sur XLD,
En PJ un essai avec :
VB:
Sub Remplace()
    Dim i%
    For i = 1 To Range("A65500").End(xlUp).Row
        Cells(i, "A") = Replace(Cells(i, "A"), ",", ".")
    Next i
End Sub
Je remplace "," par "." car mon PC est configuré avec le point comme séparateur décimal.
A vous d'adapter.
 

Pièces jointes

Bonjour @ahmedhassanin

Edit : Bonjour Sylvain

Je te propose ceci :

VB:
'Ici on contrôle la colonne B <== à adapter si c'est pour une autre colonne
Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then 'A adapter ==> Range("B:B)
    [B:B].Replace ".", ".", xlPart   'A adapter ==> [B:B]
End If
End Sub

*Merci de ton retour

@Phil69970
 
bonjour

il y a la fonction replace VBA issue de VB et la fonction replace pour les cellules mais le code ne s'ecrit pas pareil
-----------------------------------------------------------------------------------------------------------------
replacer un string
formulation:
=replace( [la chaîne à examiner] , [le caractère à remplacer] , [le caratere de remplacement]

exemple
VB:
toto="15.45"
toto=replace(toto,".",",")
msgbox toto
-----------------------------------------------------------------------------------------------------------------

replacer dans une/des cellules
la formulation🙁 je la trouve très similaire au language Js)
objectRange.replace( [carateres à remplacer] , [caractere de remplacement] )

exemple toute la colonne A
Code:
[A:A].replace ".",","

-----------------------------------------------------------------------------------------------------------------
 
Merci à tous pour vos réponses mais j'ai toujours le mm problème, à chaque fois que j'ai + de 2 chiffres après la virgule (100.464 par exemple) après exécution du code, j'obtiens 100464 et pas 100,464, pourtant pour 2 chiffres ou moins après la virgule j'obtiens les résultats désirés.
Quelqu'un aura une idée de la cause ?
 
- 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
3
Affichages
907
Retour