Chercher valeur dans une matrice
Résolu
puliexcel
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
puliexcel Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
puliexcel Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Salut
J'ai un tableau excel avec 90 colonnes et 4000 lignes. C'est la "feuil2"
Dans une autre feuille ("feuil1"), j'ai une partie des valeurs du tableau précédent. J'ai quelque dizaine de valeurs qui correspondent à la première colonne du tableau précédent.
donc dans la feuil 2 il y a 90 colonne et 4000 lignes. dans le feuil 1 j'ai 20 ligne de la colonne A.
j'ai ce code
ce code me permet de sélectionner la liste de cellule de la feuille 1, qui correspond a une vingtaine de ligne de la colonne A, et il me permet de trouver ces valeurs dans la colonne A du grand tableau et d'afficher la valeurs à coté, la valeur de la colonne B de chaque valeur de la colonne A trouvé.
donc si j'ai Chien dans ma sélection, il va trouver Chien dans la colonne A du grand tableau et il va m'afficher la valeur qui est à coté de chien.
PAR CONTRE mon problème est le suivant:
je ne veux pas qu'il m'affiche la valeur à coté, celle de la colonne B, ma la valeur d'une colonne différente, mais de la même ligne. Donc mettons, la valeur de la colonne 81. Évidement je peux le faire a priori, si j'écris ( If x = y Then x.Offset(0, 3) = y.Offset(0, 81) ) dans ce cas il décale de 81 fois et il va me trouver la valeur que je désire.
mais comme ceci je vais devoir créer de macro différent chaque fois que je veux une valeur d'une colonne différents.
il n'est pas possible de établir avant la recherche, avec une userform, ou je ne sais pas quoi, la colonne que je cherche? donc de sélectionner la plage de cellule et aussi la valeur (y.Offset(0, ?) que je veux?
merci de vos aide
J'ai un tableau excel avec 90 colonnes et 4000 lignes. C'est la "feuil2"
Dans une autre feuille ("feuil1"), j'ai une partie des valeurs du tableau précédent. J'ai quelque dizaine de valeurs qui correspondent à la première colonne du tableau précédent.
donc dans la feuil 2 il y a 90 colonne et 4000 lignes. dans le feuil 1 j'ai 20 ligne de la colonne A.
j'ai ce code
Sub Find_Matches()
Dim CompareRange As Variant, x As Variant, y As Variant
' Set CompareRange equal to the range to which you will
' compare the selection.
'Set CompareRange = Range("A1:A5")
' NOTE: If the compare range is located on another workbook
' or worksheet, use the following syntax.
' Set CompareRange = Workbooks("Book2"). _
' Worksheets("Sheet2").Range("A1:A5")
Set CompareRange = Worksheets("Feuil2").Range("A1:A6005")
' Loop through each cell in the selection and compare it to
' each cell in CompareRange.
For Each x In Selection
For Each y In CompareRange
If x = y Then x.Offset(0, 3) = y.Offset(0, 1)
Next y
Next x
End Sub
ce code me permet de sélectionner la liste de cellule de la feuille 1, qui correspond a une vingtaine de ligne de la colonne A, et il me permet de trouver ces valeurs dans la colonne A du grand tableau et d'afficher la valeurs à coté, la valeur de la colonne B de chaque valeur de la colonne A trouvé.
donc si j'ai Chien dans ma sélection, il va trouver Chien dans la colonne A du grand tableau et il va m'afficher la valeur qui est à coté de chien.
PAR CONTRE mon problème est le suivant:
je ne veux pas qu'il m'affiche la valeur à coté, celle de la colonne B, ma la valeur d'une colonne différente, mais de la même ligne. Donc mettons, la valeur de la colonne 81. Évidement je peux le faire a priori, si j'écris ( If x = y Then x.Offset(0, 3) = y.Offset(0, 81) ) dans ce cas il décale de 81 fois et il va me trouver la valeur que je désire.
mais comme ceci je vais devoir créer de macro différent chaque fois que je veux une valeur d'une colonne différents.
il n'est pas possible de établir avant la recherche, avec une userform, ou je ne sais pas quoi, la colonne que je cherche? donc de sélectionner la plage de cellule et aussi la valeur (y.Offset(0, ?) que je veux?
merci de vos aide
A voir également:
- Chercher valeur dans une matrice
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Valeur ascii - Guide
- La valeur relative de 9 dans 295 700 est - Forum Excel
- Formule excel si contient texte alors valeur ✓ - Forum Excel
- Excel ne pas afficher #valeur ✓ - Forum Excel
3 réponses
Bonjour,
Ta question est trop longue et effraie...
Pourquoi n'utilises-tu pas la fonction RECHERCHEV plutôt que de passer par une macro ?
Si tu conserves la macro et que l'utilisateur doit saisir une donnée, je te conseille :
A+
Ta question est trop longue et effraie...
Pourquoi n'utilises-tu pas la fonction RECHERCHEV plutôt que de passer par une macro ?
Si tu conserves la macro et que l'utilisateur doit saisir une donnée, je te conseille :
colonne=InputBox("Quelle colonne voulez-vous inspecter ?")
A+