Double condition VBA

Bonjour,

Je souhaite afficher dans un userform un résultat, venant d'un tableau. Ce résultat et définit par deux colonnes (Nom et type). Dans userform, je sélectionne un nom et un type dans les combobox1 et 2. Et je voudrais que le résultat s'affiche dans le textbox en dessous, qui dépend des combobox. J'ai essayer le code suivant, mais je ne sait pas comment faire avec les deux conditions!

Private Sub ComboBox1_Change()
Dim NomNote As String
Dim TypeNote As String
Dim Note1 As Range
Dim Note2 As Range

    NomNote = Me.ComboBox1.Value
    TypeNote = Me.ComboBox4.Value

  With Sheets("feuil1")
  'find 2 conditions
    Set Note1 = .Columns(1).Find(NomNote, LookIn:=xlValues, lookat:=xlWhole)
    Set Note2 = .Columns(2).Find(TypeNote, LookIn:=xlValues, lookat:=xlWhole)
    If Not Note1 And Note2 Is Nothing Then

      TextBox1 = .Cells(Com.Row, "C")

      End If
    End With
End Sub

Amicalement,

Vinny

65classeur2.xlsm (20.23 Ko)

Salut le forum

La méthode ComboBox1_Change n'est pas vraiment la solution car ton Combobx2 est vide au départ.

Ta recherche va surement faire ouvrir le débogueur VBA.

Regarde avec le fichier suivant : Recherche avec UserForm

Mytå

Je suis désolé, mais je suis un peux perdu, il y en a dans tous les sens des macro dans ce fichier!

Il sagit bien de la macro "Sub jamo" qui ressemble a ce que je veux?non?!

Sub jamo()
Dim WsBd As Worksheet
Dim WsDe As Worksheet
Dim Lg As Long
Dim Ok As Boolean
Dim Nb As Integer

  Set WsBd = Sheets("BD")
  Set WsDe = Sheets("Déroulants")

'Range("A2").Select
WsDe.Range("J1:K100").ClearContents
'i = 0
'j = 0
'k = 0

  For Lg = 2 To Range("A65536").End(xlUp).Row
    If Cells(Lg, "A") Like ComboBox1 & "*" And _
                      Cells(Lg, "C") Like ComboBox4 & "*" Then
      Ok = True
      If Me.ComboBox2 <> "" Then
        If Val(Me.ComboBox2) <> Year(Cells(Lg, "G")) Then
          Ok = False
        End If
      End If
      If Ok = True Then
        Nb = Nb + 1
        WsDe.Range("J1").Offset(Nb, 0) = Nb
        WsDe.Range("J1").Offset(Nb, 1) = Lg - 1
      End If
    End If
  Next Lg

  If Nb > 0 Then
    ScrollBar1.Min = 1
    ScrollBar1.Max = Nb
    ScrollBar1 = 1
  Else
    ScrollBar1.Min = 0
    ScrollBar1.Max = 0
    ScrollBar1 = 0
  End If
  ScrollBar1_Change
End Sub

Merci

Vinny

-- 07 Aoû 2011, 21:14 --

je pense pouvoir m'en sortir avec un autre exemple qui colle d'avantage au mien, trouvé sur le forum :

https://forum.excel-pratique.com/post139709.html?hilit=recherche%20combobox#p139709

je reviendrais vers vous demain si je ne m'en sort pas!

Bonne soirée a vous...

Vinny

Bonjour,

Je m'aproche de ce que je veux en modifiant le denier fichier, mais je n'arrive pas a avoir exactement ce que ce que je veux.

Le résultat est bon, mais dans la deuxième liste combobox, seul les prénoms corespondant au nom apparaisent. Je voudrais que tout les prénoms s'affichent. J'ai beau eu modifier quelques lignes, a chaque fois, il y a une erreur.

Merci d'avance

vincent

76userform-essai.xlsm (26.24 Ko)
Rechercher des sujets similaires à "double condition vba"