Excel, cherche valeur dans matrice et renvoye

Résolu
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

3 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    proposition à adapter à la position de ton tableau dans la feuille
    https://www.cjoint.com/?0mvlQW7njsm
    2
    1. ccm81 Messages postés 11033 Statut Membre 2 434
       
      je savais bien qu'il y avait une solution sans macro !!!!!
      cordialement
      0
    2. vivi
       
      merci beaucoup
      0
  2. pépé35530 Messages postés 2951 Date d'inscription   Statut Membre Dernière intervention   1 390
     
    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
    1. vivi
       
      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
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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