Bonjour le fil, bonjour le forum,
C'est pas la méthode que j'utiliserais mais bon... Il y a deux erreurs dans ton code :
• Dans la première ligne, pour vérifier si le texte tapé existe tu définis la colonne E alors que c'est la colonne F qu'il faut choisir.
• Une textbox revoie toujours une valeur sous forme de texte de type String. Dans ta première Userform si tu veux rechercher la valeur de la TextBox1 il te faut la convertir en entier Long (Integer ou Byte auraient aussi fait l'affaire). En revanche, dans la seconde UserForm, convertir du texte en entier Long génère un bug puisque tu recherches du texte. Avec ce bug, la ligne On Error GoTo 1 envoie automatiquement le code en fin de procédure...
Le code corrigé :
Private Sub TextBox1_AfterUpdate()
On Error GoTo 1
If WorksheetFunction.CountIf(Sheets("Feuil1").Range("F:F"), Me.TextBox1.Value) = 0 Then
End If
With Me
.TextBox2 = Application.WorksheetFunction.VLookup(Me.TextBox1, Sheets("Feuil1").Range("base"), 2, 0)
.TextBox3 = Application.WorksheetFunction.VLookup(Me.TextBox1, Sheets("Feuil1").Range("base"), 3, 0)
End With
1
End Sub