*comparaison colone puis lecture ligne excel

cs_bbn Messages postés 1 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 23 juin 2003 - 23 juin 2003 à 15:21
MATHOD Messages postés 20 Date d'inscription mardi 28 septembre 2004 Statut Membre Dernière intervention 22 mai 2008 - 16 mai 2008 à 13:47
Bonjour!

Voilà, j'ai un projet à faire et je connais rien a vb et très peu au niveau des formules excel.

Je vous expose mon pb:

A partir d'un fichier excel, sur une feuille excel "1" je saisis un code dans une cellule, sur la feuille "2" se trouve un tableau de 400/500 referances, et a partir du code saisi je dois trouver la ligne correspondante dans la feuille 2 et rappatrier la ligne complète sur ma feuille 1 à un endroit fixe, sachant que les codes sont dans la colone 1 de ma feuille excel 2.

Je ne sais pas si on peut faire ça avec vb ou s'il y a simplement une fonction ou macro excel qui le fait.

J'espère que j'ai été assez clair.

En vous remerciant par avance

bbn

1 réponse

MATHOD Messages postés 20 Date d'inscription mardi 28 septembre 2004 Statut Membre Dernière intervention 22 mai 2008
16 mai 2008 à 13:47
Bonjour,
utilise la fonction Excel bien connue

RECHERCHEV il ya un assistant toujours en Excel

en fait l'idée est de dire:
lire ce pseudo code

recherchemoiVerticalement(cette donnée particulière;dans cette plage de données(tes 400);etramène moi la colonne particulère n de cette plage;0)

pour ma part je fais plus 'compliqué' en mettant d'abord le test de l'echec de la recherche pour ne pas avoir #NA qui s'affichera alors, et aussi que si j'ai une valeur à chercher !

plus juste donc sera le code :
si tu veux retrouver le contenu de A1, dans une feuille2 parmi A1 à A400 valeurs:

=SI(A1<>"";si(esterreur(RECHERCHEV(A1;'Feuil2!A1:A400;1;0));"pas trouvé";RECHERCHEV(A1;'Feuil2!A1:A400;1;0));"pas de valeur")

je pense que c'est correct, tu peux meme ramener une valeur d'une colonne adjacente à ta rechercheV, il faut alors mettre ta plage complète

A1:D400 par exemple ramener la valeur de la deuxième colonne pour cet élément trouvé
=SI(A1<>"";si(esterreur(RECHERCHEV(A1;'Feuil2!A1:D400;2;0));"pas trouvé";RECHERCHEV(A1;'Feuil2!A1:D400;2;0));"pas de valeur")


ce code Excel est à mettre dans la cellule B1 à coté de la A1
tu recopies vers le bas cette formule,tu peut m^me dépasser la limite des valeurs ( puisque marche meme si rien dans A1500 par exemple,
cela permet de modifier la plage A1 sur la longueur qu'on veut sans refaire les recopies de formules à chaque fois!

j'espère avoir été assez clair....
a+
0
Rejoignez-nous