Fonction replace
Cocktail
-
Cocktail -
Cocktail -
Bonjour,
J'ai fait la macro suivante :
Columns("B:B").Select
Selection.Replace What:="01*", Replacement:="SECTEUR 12 DEPT 01", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Le but recherché est de remplacé tout ce qui commence par 01, par SECTEUR 12 DEPT 01.
Or ce code prend tout ce qui contient 01. Par exemple, il remplace 25010 par SECTEUR 12 DEPT 01
Une bonne âme m'indiquerait-elle ce qu'il convient d'écrire pour prendre uniquement ce qui commence par 01 ?
Merci d'avance
C
J'ai fait la macro suivante :
Columns("B:B").Select
Selection.Replace What:="01*", Replacement:="SECTEUR 12 DEPT 01", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Le but recherché est de remplacé tout ce qui commence par 01, par SECTEUR 12 DEPT 01.
Or ce code prend tout ce qui contient 01. Par exemple, il remplace 25010 par SECTEUR 12 DEPT 01
Une bonne âme m'indiquerait-elle ce qu'il convient d'écrire pour prendre uniquement ce qui commence par 01 ?
Merci d'avance
C
A voir également:
- Fonction replace
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
4 réponses
salut,
Est-ce que les "01" dont tu parles se trouves toujours à la fin de ta chaine de char ?
si c'est le cas, fait un if right(Tachaine, 2) = "01" then ..
capich ?
Est-ce que les "01" dont tu parles se trouves toujours à la fin de ta chaine de char ?
si c'est le cas, fait un if right(Tachaine, 2) = "01" then ..
capich ?
J'ai une colonne de départements.
Je veux que toutes les valeurs qui commencent par 01, comme par exemple 01350, soient remplacées par SECTEUR 12 DEPT 01.
Or ma macro remplace tout ce qui contient 01, comme par exemple 25013.
Je veux juste savoir par quoi remplacer What:="01*" pour que ma macro fonctionne comme je le voudrais.
Merci
C
Je veux que toutes les valeurs qui commencent par 01, comme par exemple 01350, soient remplacées par SECTEUR 12 DEPT 01.
Or ma macro remplace tout ce qui contient 01, comme par exemple 25013.
Je veux juste savoir par quoi remplacer What:="01*" pour que ma macro fonctionne comme je le voudrais.
Merci
C
Pourquoi n'éssais-tu pas alors ça (oui je sais ça n'utilise pas la fonction replace, mais marche tout aussi bien)
2 possibilités:
' Remplace en enlevant tous les autres caractères :
for i = 1 to FinColonne step 1
if left(Activesheet.cells(i,1), 2) = "01" then
Activesheet.cells(i,1) = "SECTEUR 12 DEPT 01" ' Activesheet.cells(i,1) = "" & right(Activesheet.cells(i,1), len(Activesheet.cells(i,1) -2))
end if
next
' Remplace en gardant les autres caractères :
for i = 1 to FinColonne step 1
if left(Activesheet.cells(i,1), 2) = "01" then
Activesheet.cells(i,1) = "" & right(Activesheet.cells(i,1), len(Activesheet.cells(i,1) -2))
end if
next
2 possibilités:
' Remplace en enlevant tous les autres caractères :
for i = 1 to FinColonne step 1
if left(Activesheet.cells(i,1), 2) = "01" then
Activesheet.cells(i,1) = "SECTEUR 12 DEPT 01" ' Activesheet.cells(i,1) = "" & right(Activesheet.cells(i,1), len(Activesheet.cells(i,1) -2))
end if
next
' Remplace en gardant les autres caractères :
for i = 1 to FinColonne step 1
if left(Activesheet.cells(i,1), 2) = "01" then
Activesheet.cells(i,1) = "" & right(Activesheet.cells(i,1), len(Activesheet.cells(i,1) -2))
end if
next