Remplissage automatique de textbox
Bonjour à tous,
J'espère que vous pourrez encore m'aider sur mon nouveau problème. Je m'explique : j'ai une base de données excel d'une part. D'autre part j'ai un userform qui permet à l'utilisateur de faire une recherche dans cette bdd. Je veux faire en sorte que lorsque la fonction trouve une correspondance entre le nom saisi par l'utilisateur et la bdd ça affiche un userform pré-rempli avec les données récupérées dans la bdd.
J'ai donc créé une variable public dans le module de code du userform formulaire (on va l'appeler ligne). Lorsque la fonction recherche a trouvé le nom rentré par l'utilisateur, elle actualise la valeur de ligne avec le numéro de la ligne sur laquelle se trouve le résultat de la recherche.
Après quoi j'ai dit dans mon UserForm_Initialize() que les textbox doivent prendre la valeur des cellules de cette ligne.
Mais c'est là que ça plante : j'ai sans cesse droit à "Erreur définie par l'application ou par l'objet" et ça me surligne UserForm1.Show. Je comprends pas :cry:
Voilà le code pour plus de clarté :
Variable public:
Code:
Public ligne As Integer
La fonction recherche :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Sub ok_Click()
If Len(TextBox_recherche.Text) < 3 Then
MsgBox "Veuillez saisir au moins 3 lettres"
Else
With Worksheets(2).Columns("A:A")
Set c = .Find(TextBox_recherche.Text, Range("A1"), xlFormulas, xlPart, xlByRows, xlNext)
If c Is Nothing Then
MsgBox "Introuvable"
Else
ligne = c.Row
Me.Hide
UserForm1.Show
Unload Rechercher
End If
End With
End If
End Sub |
Et l'initialisation (c'est ça qui plante) :
Code:
1 2 3 4
| Private Sub UserForm_Initialize()
TextBox_NOM.Text = Worksheets(2).Cells(ligne, 1).Value
TextBox_Prenom.Text = Worksheets(2).Cells(ligne, 2).Value
End Sub |
Voilà, j'espère vraiment que vous pourrez m'aider :calim2: