VBA - Anomalies avec selection.replace (. et ,)

La braise

XLDnaute Occasionnel
Bonjour à tous,

J'ai un pbm avec la commande Selection.replace.

J'ai des chiffres au foramt suivant :
1.206,36
8.578,54
...

Ce que je veux (évidement) c'est remplacer les "." par rien.

J'utilise la commande :

Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Mais cette commande me remplace également les "," par rien... :confused:

Je me retrouve avec :
120636
857854

au lieu bien sur de 1206,36 et 8578,54.

Je ne comprends pas pourquoi cela ne fonctionne pas car dans Excel (via un Control H) cela fonctionne parfaitement et ne remplace que les "." et non les ",".

D'avance merci pour votre aide sur un problème qui me pourrit bien la vie... :)
 

Dull

XLDnaute Barbatruc
Re : VBA - Anomalies avec selection.replace (. et ,)

Salut la braise, le Forum

Peut-être pas besoin de macro :rolleyes:

va dans Démarrer/Panneau de Configuration/Options régionales & linguistiques
Onglet Options Régionales/ personnaliser/
et symbole de groupement des chiffres remplace le . par un espace

à tester

EDITION: Salut mromain

Bonne Journée
 
Dernière édition:

mromain

XLDnaute Barbatruc
Re : VBA - Anomalies avec selection.replace (. et ,)

bonjour La braise, Dull

une autre solution (avec macro) :

Code:
Sub test()
On Error Resume Next
Dim curCell As Range
For Each curCell In Selection
    curCell.Value = CDbl(Replace(curCell.Text, ".", ""))
Next curCell
End Sub

a+
 

La braise

XLDnaute Occasionnel
Re : VBA - Anomalies avec selection.replace (. et ,)

mromain, dull, le fil,

J'ai besoin d'intégrer cette modif dans une macro car c'est un petit traitement au sein du procédure de traitement des donnés exportées d'un système.

mromain, j'ai essayé ton code mais ça mouline depuis 5 min je pense qu'il y a un pbm, car la manip dans Excel (et pas dans une macro) prend 30s.

Dull, j'ai essayé ta modif de paramètres mais cela ne marche pas.

Bref, je galère :)

ça doit être possible de mofifier uniquement les "." et pas les "." et les ",".

Si quelqu'un a déjà eu le même problème je suis preneur.. :)

D'avance merci pour votre aide à tous.
 

La braise

XLDnaute Occasionnel
Re : VBA - Anomalies avec selection.replace (. et ,)

Re le fil,

Merci beaucoup du temps passé à m'aider.

Ci-joint un fichier qui illustre le pbm et indique l'état actuel de mon code.

J'indique dans le fichier pour chacune des deux colonnes ce que je souhaite avoir au final.

D'avance merci.

:)
 

Pièces jointes

  • exemple format.xls
    35 KB · Affichages: 115

mromain

XLDnaute Barbatruc
Re : VBA - Anomalies avec selection.replace (. et ,)

re,

j'ai testé la macro que je t'ai envoyé plus haut (un peut modifiée pour supprimer les espaces) et ça marche chez moi (excel 2007)

Code:
Sub test()
On Error Resume Next
Dim curCell As Range
For Each curCell In Selection
    curCell.Value = CDbl(Replace(Replace(curCell.Text, " ", ""), ".", ""))
Next curCell
End Sub

tu sélectionnes la plage à modifier et tu lances la macro.

a+
 

pierrejean

XLDnaute Barbatruc
Re : VBA - Anomalies avec selection.replace (. et ,)

Re

Teste ceci

Code:
For Each cell In Range("A2:B" & Range("A65536").End(xlUp).Row)
 cell.Value = CDbl(Replace(Trim(cell.Value), ".", ""))
Next cell
 

Pièces jointes

  • exemple format.zip
    15 KB · Affichages: 82
  • exemple format.zip
    15 KB · Affichages: 72
  • exemple format.zip
    15 KB · Affichages: 69

La braise

XLDnaute Occasionnel
Re : VBA - Anomalies avec selection.replace (. et ,)

pierrejean,

J'ai testé ton code (pour chosir le plus rapide... :))

J'ai un problème "incompatibilité de type".

Ne te tracasse pas à le modifier, le temps de traitement du code de mromain me convient parfaitement.

Merci pour ton aide.
 

Discussions similaires

Réponses
1
Affichages
127

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise