Bonjour Violaine,
Je pense qu'en adaptant dans ton code le test de la condition de la façon suivante, cela devrait marcher ...
=====================================================
Dim Plage As Range ' Idem
Dim L As Long ' Déclaration de Variable de Type Numérique de -32,768 à 32,767
With Sheets("Feuil1") ' La Feuille Cible "With" (tout ce qui suit avec un ".")
L = .Range("A65536").End(xlUp).Row ' On trouve la dernière cellule non vide
' en partant du bas de la colonne "A"
Set Plage = .Range("A10:A" & L) ' Définition dynamique de la Plage de Cellule par creation d'Objet (Set)
End With ' Fin de Avec
'Lancement d'un Boucle For Each (Pour Chaque Item Contenu dans une Collection)
For Each Cell In Plage 'Pour chaque Cellule dans la Plage donc ;-)
'Début de Condition SI.
'Si la Condition est Valeur de Cellule = Valeur de TextBox1 et Cellule adjacente droite = Valeur TextBox2
If Cell.Value = TextBox1.Value and Cell.Offset(0,1) = TextBox2.Text Then
'Alors :
UserForm2.TextBox1 = TextBox1.Value 'La TextBox2 prend la valeur de la Cellule trouvée (Cell)
UserForm2.TextBox2 = Cell.Offset(0, 1).Value
UserForm2.TextBox3 = Cell.Offset(0, 2).Value
UserForm2.TextBox4 = Cell.Offset(0, 3).Value
Exit For 'Sortie de la Boucle, car la condition est remplie
End If 'Fin de la Condition
'Passage à la Prochaine Cellule de la Plage (si on est pas Sorti pas Exit For)
Next Cell
Unload UserForm1
UserForm2.Show
End Sub
=====================================================
Cordialement.
Omicron.