Rechercher une valeur dans plusieurs plages et afficher son nom
PBC
-
Excel-worker Messages postés 589 Date d'inscription Statut Membre Dernière intervention -
Excel-worker Messages postés 589 Date d'inscription Statut Membre Dernière intervention -
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
A voir également:
- Rechercher une valeur dans plusieurs plages et afficher son nom
- Rechercher ou saisir une url - Guide
- Rechercher et remplacer word - Guide
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. ✓ - Forum Excel
- Rechercher une chanson - Guide
- Comment rechercher sur le bon coin avec un nom de vendeur - Forum Vos droits sur internet
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 ?
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 ?
PBC
Dans la colonne A, il y a en A1 "Matière première", puis en A2 et plus le nom des fournisseurs, dans la colonne B, en B1 "transport" et puis B2 et plus le nom des fournisseurs... etc..
Bonsoir,
Une possibilité avec une fonction personnalisée :
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
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
Bonjour,
Exemple : https://www.cjoint.com/c/EEwji42iB2g
Cdlt
Exemple : https://www.cjoint.com/c/EEwji42iB2g
Cdlt