(VBA) - Remplacement caractère et problème format

Bonjour à tous,

Je vous contacte suite à un problème que je rencontre avec un code VBA qui est sensé remplacer un caractère « H » par rien « ».L’objectif de cette manipulation est de d’avoir au final des montants numériques que je pourrai additionner.

En réalisant l’opération de manière manuelle (CTRL+H --> Recherche H et remplacer par rien ‘’, cela fonctionne parfaitement mais pas en utilisant le code VBA :

Base :

base

Retraitement manuel (correct et attendu) :

co

Retraitement via code VBA (erreur) :

err

Voici mon code VBA utilisé pour cette manipulation :

Sub Macro1()
Columns("B:B").Select
Selection.Replace What:="H", Replacement:=""
End Sub

Je ne vois pas d’où peut bien provenir l’anomalie ?
Je vous remercie pour votre aide.

Riton

Bonjour,

Ne sachant pas comment sont formatées les cellules, il serait bien de placer une classeur exemple

Bonjour M12, vous trouverez ci-joint le classeur en question (le format de personnalisé).

Il y a trois zéro aprés la virgule dans les infos de départ donc le replace vba c'est plutôt : "Zéro espace H"

Columns("B:B").Select
Selection.Replace What:="0 H", Replacement:=""

oops et bonjour j'ai oublié lol

Bonjour,

Teste ceci

Sub Macro1()
Columns("B:B").Select
Selection.Replace What:=" H", Replacement:=""
End Sub

Bonjour à tous les deux,

J'ai essayé juste après l'envoi du fichier de remplacer "H" par " H" mais ça n'avait pas non plus fonctionné ! (Solution proposée par M12).
Par contre, la solution proposée par Xmenpl a bien fonctionné, merci énormément à vous deux !

Ceci dit, j'essaie de creuser un peu le sujet pour comprendre pourquoi la solution la plus logique n'a pas fonctionné " H" !

Bonne journée à tous

C'est sans doute parce que même après le remplacement de "0 H" Excel trouve toujours pas de nombre mais du texte.

Pour celà si dans votre version Excel comme dans la mienne , votre séparateur des unités un point et pas une virgule il fallait d'abord remplacer la virgule :

Sub Macro1()
Columns("B:B").Select
Selection.Replace What:=",", Replacement:="."
Selection.Replace What:="H", Replacement:=""

End Sub

Dans la première solution je ne pense pas que l'on puisse faire des additions ou des calculs ensuite ; alors que dans celle-ci c'est bien des nombres que vous obtenez.

Rechercher des sujets similaires à "vba remplacement caractere probleme format"