Fonction replace

Fermé
Cocktail - 22 janv. 2008 à 16:22
 Cocktail - 22 janv. 2008 à 17:17
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

4 réponses

DjSKeud Messages postés 97 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 22 avril 2015 31
22 janv. 2008 à 16:33
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 ?

0
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
0
DjSKeud Messages postés 97 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 22 avril 2015 31
22 janv. 2008 à 17:04
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


0
Ca ne fonctionne pas du tout...mais je ne sais pas pourquoi...

Bah merci quand même...

C
0