Fonctionnement bizarre de "Replace"

  • Initiateur de la discussion Initiateur de la discussion bebe57
  • Date de début Date de début

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 !

bebe57

XLDnaute Nouveau
Bonjour,

J'ai un souci avec la fonction replace, je ne comprends pas comment elle fonctionne.
Je veux uniquement faire des remplacements de chaine de caractères mais il me supprime aussi mes virgules.
J'ai voulu forcer le format des cellules en "texte" mais cela n'y change rien.
Voici mon bout de code :

Code:
For I = 2 To B.Range("C2").End(xlDown).Row
    B.Cells(I, 3).NumberFormat = "@"
Next
Set C = B.Range(B.Range("C2"), B.Range("C2").End(xlDown))
C.Cells.Replace What:="-", Replacement:=","
C.Cells.Replace What:="ER1", Replacement:="101"
C.Cells.Replace What:="ER2", Replacement:="102"
C.Cells.Replace What:="ER3", Replacement:="103"
C.Cells.Replace What:="ER4", Replacement:="104"


Voici ce que j'ai dans mon fichier excel avant le traitement de la macro:
A B C
1 Col Matrice Numéro Ligne Variable explicative
2 id 1 ER1-ER2
3 id 2 ER1-ER2-ER3
4 id 3 ER1-ER2-ER3-ER4
5 id 4 ER1

puis après chaque remplacement :

A B C
1 Col Matrice Numéro Ligne Variable explicative
2 id 1 ER1,ER2
3 id 2 ER1,ER2,ER3
4 id 3 ER1,ER2,ER3,ER4
5 id 4 ER1

A B C
1 Col Matrice Numéro Ligne Variable explicative
2 id 1 101,ER2
3 id 2 101,ER2,ER3
4 id 3 101,ER2,ER3,ER4
5 id 4 101

A B C
1 Col Matrice Numéro Ligne Variable explicative
2 id 1 101102
3 id 2 101,102,ER3
4 id 3 101,102,ER3,ER4
5 id 4 101

A B C
1 Col Matrice Numéro Ligne Variable explicative
2 id 1 101102
3 id 2 101102103
4 id 3 101,102,103,ER4
5 id 4 101


A B C
1 Col Matrice Numéro Ligne Variable explicative
2 id 1 101102
3 id 2 101102103
4 id 3 1,01102E+11
5 id 4 101

Pouvez-vous m'expliquer pourquoi les virgules disparaissent et comment faire pour y remédier ?

Merci.

Bérengère.
 
Re : Fonctionnement bizarre de "Replace"

C'est exactement ça, merci beaucoup !

Mais sais-tu pourquoi ce que j'avais fait précédement ne fonctionnait pas ?
C'est assez bizarre,surtout que je faisais d'autres "replace" qui ne posaient pas de souci.
 
Re : Fonctionnement bizarre de "Replace"

Bonjour,

Tu utilisais la méthode Replace qui "recalcule" la cellule et qui considere que la virgule est le séparateur des milliers => transformation en numérique

Pierrejean utilise la fonction Replace. Dans ce cas on réécrit le contenu de la cellule avec le contenu modifié.
 
- 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
22
Affichages
1 K
Réponses
6
Affichages
108
Réponses
11
Affichages
482
Réponses
5
Affichages
500
Réponses
7
Affichages
724
Retour