Bonjour,
Ce qu'à voulu t'expliquer Zeb c'est la différence entre une chaine de caractère et une concaténation de variables. Pour tester ce qu'il t'a mis, met toi en VBA puis ouvre la fenêtre Execution et dans cette fenêtre tu testes chacune de ses lignes une par une et à chaque fois tu valides la ligne (entrée) et ca te renvoie le résultat.
N'oublies pas les balises code...
Si j'ai bien compris ton problème tu as 2 colonnes ou tu sélectionnes une valeur dans 2 TextBox et tu veux remplir une liste avec le résultat de la recherche de ses 2 valeurs.
Cible1 et Cible 2 sont inutile puisque tu peux lire directement la valeur dans les textBox (d'ailleur le .text aussi logiquement).
StrComp ne te sert pas à grand chose tu peux comparer 2 chaines de caractères directement avec un =.
Il est bien vu aussi de préciser sur qu'elle onglet tu travailles.
Il peut être aussi plutot utile pour la lisibilité de renommer tes TextBox et ListBox car quand tu en seras à la ListBox999 tu t'y retrouveras plus
With Sheets("toto") ' nom de l'onglet à corriger
n = .Rows.Count ' Améliorable... voir sujet cité plus bas
For i = 1 To n
If TextBox1 = .Cells(i, 1) And TextBox2 = .Cells(i, 2) Then
ListBox1.AddItem Cells(i, 3).Value
End If
Next ' le i n'est pas nécessaire
End with
Voilà un sujet général sur Excel :
http://www.presence-pc.com/forum/ppc/Programmation/vous...
Et ici tu devrais trouver des trucs utiles (notamment pour row.count) pour t'aider à l'avenir mais je reste dans le coin mais malheureusement je ne suis pas constament connecté.
http://www.presence-pc.com/forum/ppc/Programmation/exce...