Bonjour le forum !

Premièrement je tiens à vous remercier car j'ai énormément appris grâce à ce forum, merci donc à vous tous qui y contribuez.

Mais voilà, premier gros blocage !

J'ai codé une interface à base de UserForms qui permet de gérer des BD grâce à un ID unique qu'elles possèdent.

A partir de mon UserForm1, j'aimerai récupérer l'ID inscrit dans une TextBox en cliquant sur un bouton, qui entraîne également l'ouverture de l'UserForm2 (qui possèdent un multipage), mettre cet ID dans une nouvelle TextBox et cliquer par macro sur le bouton rechercher qui affiche les informations sur la BD.

J'ai réussi mais en désactivant les .SetFocus, ce qui me pose problème car l'utilisateur peut utiliser l'UserForm2 pour effectuer sa recherche sans passer par l'USerForm1, et là les SetFocus ont leurs importances.


Premièrement, dans un module public j'ai déclaré une variable publique :


Dans mon bouton 1 de l'Userform 1 j'ai :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Private Sub CommandButton_modifInfos_Click()
 
    var = ID_BD.Value 'Je récupère la valeur de la TextBox
    Unload Me
    UserForm2.MultiPage1.Value = 1
    UserForm2.Show
 
End Sub

Et enfin dans l'Initialize de mon Userform2 j'ai :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
Private Sub UserForm_Initialize()
 
    If var <> "" Then
 
        ID_BD3 = var  'Je remplis la TextBox
        Call CommandButton_rechercher2_Click
        var = ""
 
    End If
 
End Sub

Avec ce code, l'opération marche. Hors j'ai également ces SetFocus qui sont important:

Dans la TextBox :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Private Sub ID_BD3_Change()
 
'        If Valeur = 14 And ID_BD3 Like "*GU*" Then
'
'            CommandButton_rechercher2.SetFocus
'
'        ElseIf Valeur = 18 And ID_BD3 Like "*KIT*" Then
'
'            CommandButton_rechercher2.SetFocus
'
'        End If
 
End Sub

Dans le Multipage :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
Private Sub MultiPage1_Change()
 
'    If MultiPage1.Value = 1 Then
'
'        ID_BD3.SetFocus
'
'    End If
 
End Sub

Sauriez-vous comment régler ce problème ?
Je ne sais pas du tout dans quelle direction partir...

Merci d'avance pour votre aide !