Macro recherche/remplace

Bonsoir,

Je souhaiterais avoir de l'aide pour rechercher puis remplacer des points par des virgules d'une chaîne de valeur que Excel vois en texte alors que se sont des nombres mais il ne sont pas au bon format.

Exemple : 1.200,45 (est un nombre dans mon fichier qui est en format standard mais est compris en texte pour VBA)

je souhaite qui devienne 1200,45 soit remplacer le point par rien ""

mais quand je le fais sous VBA cela me donne 120045 il me supprime aussi la virgule pouvez vous m'aidez à résoudre ce problème s'il vous plaît; merci d'avance.

Cordialement,

Ci joint mon fichier Excel

22test11.xlsm (33.09 Ko)

Bonsoir,

en insérant une colonne "D" après la colonne de vos valeurs avec des points et des virgules, puis en collant cette formule en ligne 5 et en recopie jusqu'en bas :

=SIERREUR(SUBSTITUE(C5;".";"")*1;"")

vous remplacez les points "." par rien "", on multiplie par 1 pour retransformer la valeur en chiffre 'alignement natif à droite de la cellule)

Le "sierreur" est là c'est pour éviter l'affichage d'erreur sur les lignes où il n'y a pas de chiffre.

Si cela vous convient...

@ bientôt

LouReeD

Bonsoir Slim, bonsoir le forum,

Peut-être comme ça :

Sub Bouton2_Cliquer()
Dim O As Worksheet
Dim DL As Integer
Dim CEL As Range

Set O = Sheets("test")
DL = O.Cells(Application.Rows.Count, 3).End(xlUp).Row
O.Range("C5").Delete Shift:=xlUp
For Each CEL In O.Range("C5:C" & DL)
    If CEL <> "" Then CEL = Replace(CEL.Value, ".", "") * 1
Next CEL
End Sub

[Édition]

Bonsoir LouReeD on s'est croisé...

Ha bon ? où ça ?

Sur le forum !!!!

J'ai eu peur !!!!

@ bientôt

LouReeD

Bonsoir le fil, bonsoir le forum,

À part dans le sous-sol du Velvet et dans le forum, je ne vois pas où on pourrait se croiser, LouReeD...

ThauThème a écrit :

Bonsoir Slim, bonsoir le forum,

Peut-être comme ça :

Sub Bouton2_Cliquer()
Dim O As Worksheet
Dim DL As Integer
Dim CEL As Range

Set O = Sheets("test")
DL = O.Cells(Application.Rows.Count, 3).End(xlUp).Row
O.Range("C5").Delete Shift:=xlUp
For Each CEL In O.Range("C5:C" & DL)
If CEL <> "" Then CEL = Replace(CEL.Value, ".", "") * 1
Next CEL
End Sub

[Édition]

Bonsoir LouReeD on s'est croisé...

Merci BEAUCOUP TA MACRO FONCTIONNE PARFAITEMENT

Sujet clos

Rechercher des sujets similaires à "macro recherche remplace"