Comparer des celulles et y associé un résultat sur vba

Signaler
Messages postés
17
Date d'inscription
mercredi 16 janvier 2008
Statut
Membre
Dernière intervention
2 octobre 2008
-
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
-
Bonjour,

j'ai un pb , je dois comparer deux colonnes de références et y associé un autre code en fonction du résultat.

je m'explique :
j'ai trois colonnes :

ma colonne A comprend un nom de référence produit donné par notre prestataire
ma colonne b comprend également le nom de référence produit donné par notre prestataire (les mêmes mais pas le même ordre)
et ma colonne c est en fait associé à ma colonne b , c'est à dire qu'elle comprend un code qui correspond à la réference de la ligne de la colonne b. ce code est la référence produit que nous utilisons en interne.

le but en fait c'est de retrouver le code réference interne des réferences de ma colonne A et de le placer dans une autre colonne en face.

donc en fait si je fais une phrase pour expliquer ce que je cherche ca donne :
si la celulle de ma colonne A est égal ou contient des réferences de ma colonne B alors il faut lui associer la ligne de la colonne c qui se trouve en face de ma colonne b.
je suis pas sûre d'avoir été très clair là mais svp j'ai  besoin d'aide je n'y connais vraiment pas grand chose en vba et j'ai environ 10000 reference je ne peux donc pas le faire à la main !!!!!!!!!!!

merkii d'avance

1 réponse

Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
10
Salut,

Pour commencer tu n'es pas dans le bon theme. Excel et le VBA de façon plus generale, c'est ici :  [infomsg.aspx Thèmes] / [infomsgf_VISUAL-BASIC_1.aspx Visual Basic 6] / [infomsgt_LANGAGES-DERIVES_287.aspx Langages dérivés] / [infomsgt_VBA_244.aspx VBA] /

Ceci etant dit, je voudrais en profiter pour rappeler qu'excel est tableur et pas juste une page de "cases" dans les quelles on ecrit des choses. Autrement dit quand on ce sert d'un tableur il y a un minimum a savoir. Et la, ta question elle rentre dans ce minimum.

Comme on est pas des sauvage ici voici la reponse a ta question :
Pour la suite je considere (vu que tu nous donnes pas toutes les info necessaire) que la premiere ligne de ton tableau est ligne 2 et que la derniere est la ligne 1000. Donc ton tableau ce trouve en B2:C1000. Il te faudra donc reajuster ceci en fonction de la realité de ton tableau.

Donc en D2 tu ecris strictement ce qui sui :

=RECHERCHEV($A2;$B$2:$C$1000;2;FAUX)

une fois que tu as copié cette formule en D2 assure toi Que D2 est selectionné. Quand une cellule est sectionnée un petit carré noire apparait en bas a droite de celle-ci.
Ce petit carre permet d'ettendre le contenu d'une cellule a une ligne ou une colonne contigu contenant deja des valeurs, par double cliques gauche sur celui-ci. Ou simplement detendre le contenu de la cellule par ettirement horizontal ou verticale. Il est petit mais costau il permet beaucaoup de choses sur les quelles je ne m'ettendrais pas maintenant.

Donc dans ton cas si il n'y a pas de cellule vide en colonne C entre la premiere et la derniere valeur un double clique devrait suffire. Si cela ne suffit pas c'est a dire que le double clique n'a pas permis de copier la formule sur toute la hauteur de ton tableau : selectionne a nouveau D2 pour faire apparaitre le petit carré et clique avec le bouton de gauche de ta souris et maintient le enfoncé puis etire (decend) jusqu'a la derniere ligne de ton tableau.

Cette manipe n'est pas un simple copier coller car en faite excel va remplacer automatiquement le 2 de $A2 par le numeros de ligne correspondant par exemple pour la ligne 55 la formule sera

=RECHERCHEV($A55;$B$2:$C$1000;2;FAUX)

Voila, si tu as bien respecter ce que je t'ai dit tu devrais avoir maintenant toute les references en colonne D en fonction de la colonne A

A+