RechercheV avec deux élèments

Bonjour,

Après plusieurs recherche sur internet, je me permets de vous adresser un message.

J'aurai besoin d'utiliser la fonction RechercheV mais celle-ci doit rechercher deux élément au lieu d'un seul. J'ai créé une base de donner dans une feuille de mon tableau excel pour créer une maquette de test. Je choisi dans une liste déroulante un élément et un élément dans une autre liste déroulante pour que le résultat me remonte une description total des deux choix combinés.

Est ce que quelqu'un pourrait m'aider à réaliser cette fonction ou ligne de commande en VBA ?

Cordialement

Audrey

36maquette-iws.xlsx (40.36 Ko)

Bonjour,

Tu peux préciser les données d'entrées et ce que l'on recherche?

Dim Cel As Range
Dim Depart As String
Dim lignemax As Long

  lignemax = Cells(Rows.Count, 1).End(xlUp).Row
  'recherche1
With Range("A2:A" & lignemax)
    Set Cel = .Find(What:=Me.ComboBox1, LookIn:=xlValues, lookat:=xlWhole)
    If Not Cel Is Nothing Then
      Depart = Cel.Address
        Do
          If Cel.Offset(0, 6) = Me.ComboBox2 Then
            MsgBox "Ligne " & Cel.Row
          End If
          Set Cel = .FindNext(Cel)
        Loop While Depart <> Cel.Address
    End If
End With

un code de recherche qui donne un message de la ligne "gagnante".

combobox1 et combobox2 sont a remplacer par tes listes de recherche.

Les éléments d'entrée : le contenu la colonne catégorie et de la colonne qualificatif. Le résultat en sortie est le contenu de la colonne description

Merci pour ta réponse ZariK, mais je ne suis pas très caler en VB. Comment dois-je faire pour le mettre en place

Cordialement

Comment dois-je faire pour le mettre en place

creer la macro:

Il faut coller la macro dans un module Standard de ton classeur.

Alt+F11 pour ouvrir l'éditeur VBE.

Clic-droit sur le projet à gauche pour ajouter un module.

il faut créer un bouton:

option excel>standard>afficher l'onglet develloppeur

dans l'onglet develloppeur>inserer>bouton

et attaché la macro au bouton(clic droit sur le bouton et "affecter macro")

"What:=Me.ComboBox1" et "Cel.Offset(0, 6) = Me.ComboBox2" doivent etre modifier pour correspondre avec tes feuilles

par exemple:

  • What:=range ("A1").value>recherche faites avec la valeur de la cellule A1
  • Cel.Offset(0, 6)= range ("A2").value>durant la recherche,a chaque ligne correspondante, cette ligne regarde si la 6eme colonne correspond a la valeur en A2
si les 2 colle c'est la ligne recherchée.

Merci Zarik pour ta réponse, je viens de mettre en place la macro en question. Par conte j'ai le message d'erreur suivant (cf document joint)

capture

Sub recherche()

Dim Cel As Range

...

End With

end sub

Zarik,

Je viens d'ajouter les deux lignes qui vous m'avez précisez mais j'ai de nouveau un message d'erreur (cf document joint)

capture
Sub recherche()
    Dim Cel As Range
    Dim Depart As String
    Dim lignemax As Long

      lignemax = Cells(Rows.Count, 1).End(xlUp).Row
      'recherche1
    With Range("A2:A" & lignemax)
        Set Cel = .Find(What:=Categorie_qualificatif, LookIn:=xlValues, lookat:=xlWhole)
        If Not Cel Is Nothing Then
          Depart = Cel.Address
            Do
              If Cel.Offset(0, 6) = Description Then
                MsgBox "Ligne " & Cel.Row
              End If
              Set Cel = .FindNext(Cel)
            Loop While Depart <> Cel.Address
        End If
    End With
end sub

de plus tu as laisser "Cel.Offset(0, 6)", est ce que description ce trouve dans la colonne G?

J'ai trouvé la solution : =INDEX(solution_client2;EQUIV(J21&D21;qualificatif2&categorie2;0))

Rechercher des sujets similaires à "recherchev deux elements"