Excel, cherche valeur dans matrice et renvoye

Résolu/Fermé
vivi - 21 déc. 2010 à 09:58
 vivi - 21 déc. 2010 à 12:45
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

3 réponses

michel_m
Messages postés
16570
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
26 mai 2022
3 280
21 déc. 2010 à 11:44
Bonjour,

proposition à adapter à la position de ton tableau dans la feuille
https://www.cjoint.com/?0mvlQW7njsm
2
ccm81
Messages postés
10318
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
28 mai 2022
2 292
21 déc. 2010 à 11:51
je savais bien qu'il y avait une solution sans macro !!!!!
cordialement
0
merci beaucoup
0
pépé35530
Messages postés
2940
Date d'inscription
vendredi 1 mai 2009
Statut
Membre
Dernière intervention
19 mars 2016
1 375
21 déc. 2010 à 11:33
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é
0
j'ai donné ce tableau en exemple mais en réalité ce n'est pas celui la. il est néanmoins obligatoire qu'ils répondent aux critères données
0
ccm81
Messages postés
10318
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
28 mai 2022
2 292
21 déc. 2010 à 11:46
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 Function
bonne suite
0