Rechercher une valeur dans plusieurs plages et afficher son nom
PBC
-
Excel-worker Messages postés 603 Statut Membre -
Excel-worker Messages postés 603 Statut Membre -
Bonjour,
Je tiens une liste de factures dues dans ma feuille #1. Dans ma feuille #2 j'ai plusieurs liste de fournisseurs, avec comme entête de chaque colonne le type de fournisseur (ex: matière première, transport, fournitures de bureau, etc.)
Mon problème :
J'aimerais, lorsque j'écris le nom de mon fournisseur dans la colonne A (ex: A1), qu'Excel recherche dans ma deuxième feuille le nom de ce fournisseur et indique dans la colonne B (ex: B1) le type de fournisseur auquel il correspond.
Merci à l'avance
Je tiens une liste de factures dues dans ma feuille #1. Dans ma feuille #2 j'ai plusieurs liste de fournisseurs, avec comme entête de chaque colonne le type de fournisseur (ex: matière première, transport, fournitures de bureau, etc.)
Mon problème :
J'aimerais, lorsque j'écris le nom de mon fournisseur dans la colonne A (ex: A1), qu'Excel recherche dans ma deuxième feuille le nom de ce fournisseur et indique dans la colonne B (ex: B1) le type de fournisseur auquel il correspond.
Merci à l'avance
3 réponses
-
Bonjour,
Dans ta feuille #2, tes listes de noms de fournisseurs comme le type de fournisseur sont-ils sur les mêmes colonnes sur tous les tableaux ? -
Bonsoir,
Une possibilité avec une fonction personnalisée :Function fournisseur(plage As Range) nom = plage.Value Dim Col As Integer Dim ligne As Long Col = Sheets("Feuil2").Rows(1).Find("*", , , , xlByRows, xlPrevious).Column For y = 1 To Col ligne = Sheets("Feuil2").Columns(y).Find("*", , , , xlByColumns, xlPrevious).Row For x = 2 To ligne If Sheets("Feuil2").Cells(x, y) = nom Then t = Sheets("Feuil2").Cells(1, y) Next Next fournisseur = t End Function
ALT+F11 pour ouvrir l' éditeur VBA puis Insertion puis Module
Copier et coller la macro dans la page blanche
Si ta feuille 2 porte un autre nom remplacer Feuil2 par ce nom dans toutes les lignes de la macro
Fermer l'éditeur
La fonction s'utilise comme n'importe quelle fonction Excel à partir de son nom, syntaxe =fournisseur(adresse dela cellule avec le nom)
exemple : en B1 mettre =fournisseur(A1)
Tu peux rajouter autant de colonnes et de lignes que tu veux dans la feuille 2, la macro fonctionnera puisqu'à chaque fois on recherche la dernière colonne remplie (Col) puis la dernière ligne remplie de chaque colonne (ligne)
Cdlmnt
Via
-