Excel, cherche valeur dans matrice et renvoye
Résolu
vivi
-
vivi -
vivi -
Bonjour,
Je demande votre science d'Excel pour affronter un problème auquel je suis confronté...
J'ai un tableau de ce type :
---------------- bleu --- rouge --- vert
mercedes --- 3 --- ---- 5 ---- --- 6
ferrari ---- --- 9 --- ---- 4 ---- --- 1
peugeot --- - 2 --- ---- 7 ---- ---8
J'aimerais faire une fonction qui cherche dans ma matrice un nombre et qui renvoie le nom et la couleur.
Exemple : je tape ma fonction pour le nombre 3 et la cela me renvoie sur les 2 colonne suivante "mercedes" "bleu"
j'avoue que je suis vraiment coincé
merci d'avance
Je demande votre science d'Excel pour affronter un problème auquel je suis confronté...
J'ai un tableau de ce type :
---------------- bleu --- rouge --- vert
mercedes --- 3 --- ---- 5 ---- --- 6
ferrari ---- --- 9 --- ---- 4 ---- --- 1
peugeot --- - 2 --- ---- 7 ---- ---8
J'aimerais faire une fonction qui cherche dans ma matrice un nombre et qui renvoie le nom et la couleur.
Exemple : je tape ma fonction pour le nombre 3 et la cela me renvoie sur les 2 colonne suivante "mercedes" "bleu"
j'avoue que je suis vraiment coincé
merci d'avance
3 réponses
-
Bonjour,
proposition à adapter à la position de ton tableau dans la feuille
https://www.cjoint.com/?0mvlQW7njsm -
Bonjour,
Je ne vois pas trop l'intérêt de ton tableau.
Pourquoi ne pas construire un tableau avec :
1 colonne pour tes nombres,
1 colonne pour les marques
1 colonne pour la couleur.
ou même fusionner les colonnes marques et couleur (tu aurais alors 9 lignes sur deux colonnes).
A+
pépé -
bonjour
sans passer par une macro, il doit y avoir moyen mais je ne sais pas faire
avec macro
Nommer Tab la plage des données sur la feuille y compris les lignes de titre (vehicule, couleur)
Mettre cette fonction dans un module (Alt-F11 pour acceder à l'éditeur VBA)
Pour utiliser par exemple la valeur entrée en A5
A6 = f(A5)
RQ. f renvoie "" si la valeur entrée n'est pas trouvée
Function f(n As Long) As String Dim li As Long, co As Long Dim nbli As Long, nbco As Long Dim s As String nbli = Range("Tab").Rows.Count nbco = Range("Tab").Columns.Count For li = 2 To nbli For co = 2 To nbco If Range("Tab").Cells(li, co) = n Then f = Range("Tab").Cells(li, 1) & " " & Range("Tab").Cells(1, co) Exit Function End If Next co Next li f = "" End Functionbonne suite