[Catégorie modifiée VB6 -> VBA] pb d'extraction de données d'un tableau

elyse62 Messages postés 1 Date d'inscription vendredi 13 mai 2011 Statut Membre Dernière intervention 13 mai 2011 - 13 mai 2011 à 09:36
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 13 mai 2011 à 12:59
bonjour,


C4 0 401 Séjour 18.6 2.5 17.99 sol PVCde GERFLOR - U2S P3 E2 C2 habitations
C4 0 401 Cuisine 5.67 2.5 9.56 sol PVCde GERFLOR - U2S P3 E2 C2 habitations
C4 0 401 Wc 2.2 2.5 6.44 sol PVCde GERFLOR - U2S P3 E2 C2 habitations
C4 0 401 Hall 5.88 2.5 11.78 sol PVCde GERFLOR - U2S P3 E2 C2 habitations
C4 0 401 Sdb 4.13 2.5 9.25 sol PVCde GERFLOR - U2S P3 E2 C2 habitations
C4 0 401 Chambre 1 11.14 2.5 13.35 sol PVCde GERFLOR - U2S P3 E2 C2 habitations
C4 0 401 Rgt 0.82 2.5 4.3 sol PVCde GERFLOR - U2S P3 E2 C2 habitations



je voudrai extraire les données soulignées en fonction nom de la pièce
j'ai essayer avec recherchev mais il me renvoie la valeur de la derniere ligne du tableau

=RECHERCHEV(K7;A8:J14;7;FAUX)

help!!!!
merci d'avance

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 mai 2011 à 10:45
Salut et bienvenu

La prochaine fois, précise que tu travailles dans Excel + choisis la catégorie adéquat : ça évitera les malentendus

A l'écran, on est dans l'impossibilité de te dire quoi faire puisqu'on ne connait pas le nom de tes colonnes.
Je te suggère d'utiliser l'enregistreur de macro pendant que tu fais une recherche (menu Édition, Rechercher) à la main : Tu auras ainsi la syntaxe exacte à utiliser.
+ Regarder dans l'aide

Une fois que tu auras trouvé la ligne sur laquelle apparait la pièce recherchée, il te suffira d'utiliser .Offset pour récupérer n'importe quelle cellule de la même ligne - voir l'aide

Tout est dans l'aide

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 344
13 mai 2011 à 12:59
Bonjour,

RecherchV regarde dans la premiere colonne de ta matrice et te retourne la valeur qui se trouve dans la Colonne choisie ( ici pour toi c'est la colonne 7 ).

Les noms des pièces se trouvant dans la colonne 4 (d'apres la représentation de ton tableau) ça ne pourra pas fonctionner.

Pour y arriver, il faut que tu utilises la fonction Index couplée avec Equiv.

ce qui donnerait:
=INDEX(A8:N14;EQUIV(K7;D8:D14;0);7)


* INDEX = retourne la valeur a l'intersection LIGNE / COLONNE donnée
* EQUIV Retourne le N° de ligne dans une plage données ( plage 1 colonne)
( peut aussi fonctionner pour avoir des N° de colonnes en recherchant sur une LIGNE)

(nb: Le N° de colonne ou de ligne dans la fonction INDEX est en relatif. C'est à dire que si ton tableau est en K8:Z20 par exemple et que tu veux la valeur en M9 par exemple ce sera en ligne 2 et colonne 2 )


Bien sur n'ayant pas exactement la structure de ton tableau, il faudra peut etre que tu adaptes les différentes plages de la formules.


PS: Si la réponse te convient, merci de mettre le sujet en résolu.

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
Rejoignez-nous