Bonjour oulema,
* mon code VBA ci-dessous est juste une piste ; je suppose que tu as 2 TextBox nommées SelectFourni et MailFourni
* ta variable vlfour est inutile, car après lui avoir donné une valeur avec vlfour = SelectFourni.Value, tu ne t'en sers pas
Private Sub SelectFourni_Change()
Worksheets("Envoi").Select
Dim S$, n&, z&, l&, c%, f As Byte
n = Cells(Rows.Count, 1).End(xlUp).Row
For z = 2 To n
If Cells(z, 1) = SelectFourni Then
MailFourni = Cells(z, 2): f = 1: Exit For
End If
Next z
If f = 0 Then MsgBox "Fournisseur non trouvé.", 48: Exit Sub
l = ActiveCell.Row: c = ActiveCell.Column
Do While Cells(l, c) <> SelectFourni: l = l + 1: Loop
Range("TestValeur") = Cells(l, c + 2)
If Range("TestValeur") = "" Then
MsgBox "Le fournisseur a un portefeuille vide": Exit Sub
Else
Sheets("Comm_Ach_Prod").Select: S = SelectFourni
ActiveCell.AutoFilter Field:=4, Criteria1:=S
Columns("J").Sort [J1], 2
End If
End Sub
dhany