Fonction Remplacer via une macro VB

Petitange1601 Messages postés 3 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 18 novembre 2008 - 17 nov. 2008 à 21:37
userrrqi115 Messages postés 181 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 4 février 2011 - 18 nov. 2008 à 22:02
Je suis sure que quelqu'un pourra m'aider...
Je souhaiterai remplacer la valeur d'une cellule par une autre à condition qu'une troisième valeur remplisse certains critères. Comment formaliser cette macro ?

Un exemple qui sera peut etre plus clair.
Dans un fichier dont le nombre de lignes peut varier, j'ai une première colonne qui comporte une valeur identique (X) pour toutes les lignes.
Une seconde colonne fait référence à des codes.
Si ces codes font partie des codes suivants : 501, 502 ou 503 alors je souhaite remplacer la valeur de ma première colonne (X) par une autre (Y).
Merci à ceux qui pourront m'aider,

5 réponses

jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
17 nov. 2008 à 22:42
Pas bonjour non plus, donc...
Ce qui me gêne, dans ta question, est ce passage
"Une seconde colonne fait référence à des codes.
Si ces codes font partie des codes suivants : 501, 502 ou 503" 
Le pluriel utilisé (pour codes) ne permet pas de savoir avec assurance si plusieurs codes peuvent figurer dans une même cellule ou si chacune des cellules de cette colonne ne peut contenir qu'un seul code (le sien, distinct ou non de celui que contiendrait une autre cellule de la colonne concernée)
Peut-tu le préciser, s'il te plait, car la solution dépend de ta réponse (traitements différents)
0
Petitange1601 Messages postés 3 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 18 novembre 2008
18 nov. 2008 à 20:54
Bonsoir et merci pour cette réponse.
Pour répondre à la demande de précision, je confirme qu'un seul code figure dans une même cellule
0
userrrqi115 Messages postés 181 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 4 février 2011
18 nov. 2008 à 21:12
Hello,

Just to know si j'ai bien suivi et pour éclaircir certains points:
Tu as un fichier avec un nombre de ligne qui peut varier (dans ce cas est ce que une colonne contient-elle toujours une données non nulle).
Une colonne de ton fichier contient une valeur X, une seconde colonne contient des codes. Selon la valeur de ces codes tu souhaites que soit remplacé la valeur X par une autre valeur : Y (Y est- elle une donnée contenue dans une troisime colonne?)

BR

USERRRQI115
Simple user
Great brain
0
Petitange1601 Messages postés 3 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 18 novembre 2008
18 nov. 2008 à 21:19
Bonsoir,
Oui le nombre de lignes peut varier et les colonnes contiennent toujours une donnée non nulle;
Pour la deuxième partie, c'est bien ça sauf que la valeur Y (fixe) ne se trouve pas dans une autre colonne,
Merci pour ton aide,
Bonne soirée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
userrrqi115 Messages postés 181 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 4 février 2011
18 nov. 2008 à 22:02
Re,

Pour commencer le mieux est de partir sur une boucle qui se déroulera jusqu'à trouver une valeur nulle dans une colonne donnée, celle contenant les données potentielleement rempleçable par exemple(Do While Not ActiveCell.value=""...Loop).
Avant la boucle sélectionne la 1ère cellule de la colonne en question.
Pendant la boucle tu vas créer un comparaison entre la donnée contenue dans la colonne "cible" (Activecell.offset(0,?).value) et les trois valeurs ennoncées avant ( If avec plusieurs Or).
Lorsque la valeur revoyé du if sera true il faudra remplacer la valeur de ta cellule active (Activecell.value=Y)
Et enfin passer à la cellule suivante (Activecell.offset(1,0).select

J'espère que cela te fera avancer.

BR

USERRRQI115
Simple user
Great brain
0
Rejoignez-nous