OVH Cloud OVH Cloud

Remplacer . par , dans une macro

2 réponses
Avatar
gregoire.cittanova
Bonjour,

Dans une colonne, je dois remplacer tous les points par des virgules.
Pour ce faire, j'enregistre une nouvelle macro, puis dans "Edition",
remplacer par.
A ce moment l'action est effectu=E9e comme il faut.
Le code VBA donn=E9 est :
Selection.Replace What:=3D".", Replacement:=3D",", LookAt:=3DxlPart, _
SearchOrder:=3DxlByRows, MatchCase:=3DFalse
Mon probl=E8me est que quand j'execute la macro, le r=E9sultat n'est pas
le m=EAme que quand je fais l'action en direct.
Avec la macro, j'obtiens des chiffres qui ne sont plus d=E9cimalis=E9s et
qui sont multipli=E9s par 1000000.
Si quelqu'un a une suggestion, super!

2 réponses

Avatar
JB
Bonjour,

Si le point est le séparateur de DECIMALES:

Sub TransformePoint()
For Each c In Selection
If Not c.HasFormula Then
c.Value = c.Value
End If
Next c
End Sub

Cordialement JB
Avatar
michdenis
Bonjour Grégoire,

Sélectionne ta colonne,
appelle la commande : Barre de menus / données / convertir / délimité
et à la troisìème étape(fenêtre) , avec le bouton "Avancé" assure-toi que
le séparateur désigné est bien ton séparateur par défaut (la virgule)
et un clic sur le bouton terminé et le tour est joué.


Salutations!



a écrit dans le message de news:
Bonjour,

Dans une colonne, je dois remplacer tous les points par des virgules.
Pour ce faire, j'enregistre une nouvelle macro, puis dans "Edition",
remplacer par.
A ce moment l'action est effectuée comme il faut.
Le code VBA donné est :
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
Mon problème est que quand j'execute la macro, le résultat n'est pas
le même que quand je fais l'action en direct.
Avec la macro, j'obtiens des chiffres qui ne sont plus décimalisés et
qui sont multipliés par 1000000.
Si quelqu'un a une suggestion, super!