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
Voilà le code pour plus de clarté :
Variable public:
La fonction recherche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Public ligne As Integer
Et l'initialisation (c'est ça qui plante) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Voilà, j'espère vraiment que vous pourrez m'aider
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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![]()
Partager