Bonjour à tous,
a) A l’ouverture de mon fichier je sélectionne l’onglet du mois à ouvrir (Workbook)
b) J’ai un UserForm1 que j’active sur demande (dans un sub FORMULAIRE)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub Workbook_Open() 'Application.DisplayFullScreen = True ActiveWindow.WindowState = xlMaximized mois = Format(Date, "mmmm") Sheets(mois).Activate End Sub
c) J’ai mon code pour l’user forme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sub FORMULAIRE() UserForm1.Show vbModeless End Sub
Ce que je n’arrive pas à faire :
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 Option Explicit 'Activation de la déclaration explicite des variables Dim Ws As Worksheet Private Sub UserForm_Initialize() 'à l'initialisation de l'userform Dim J As Long 'déclare la variable Dim I As Integer Dim mois_recherche As String Dim F As Worksheet For Each F In ThisWorkbook.Worksheets 'Seulement les feuilles visibles If F.Visible = xlSheetVisible Then 'Sauf celle intitulée 'Menu' If F.Name <> "GESTION CITERNES" And F.Name <> "BILAN BRUNO" Then 'Ajouter l'élément à la liste ComboBox2.AddItem F.Name End If End If Next F mois_recherche = ActiveSheet.Name ' Affecter une valeur à une variable (= fixer la valeur de la variable) Set Ws = Sheets(mois_recherche) 'Attention ce nom doit correspondre au nom de votre ONGLET 'On stock le nom de la feuille "JANVIER" dans une variable nommée WS With Me.ComboBox1 ' on range les nom dans combobox1 For J = 3 To Ws.Range("A" & Rows.Count).End(xlUp).Row .AddItem Ws.Range("B" & J) Next J End With For I = 1 To 9 'on lance une boucle de valeur mini 1 et maxi 9 Me.Controls("TextBox" & I).Visible = True 'affiche les données dans les textbox Next I End Sub Private Sub ComboBox1_Click() Dim Ligne As Long Dim I As Integer If Me.ComboBox1.ListIndex = -1 Then Exit Sub Ligne = Me.ComboBox1.ListIndex + 3 TextBox9.MultiLine = True For I = 1 To 9 Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I) '+ 1) Next I End Sub Private Sub ComboBox2_Click() Dim Feuille As String Feuille = ComboBox2.Value Worksheets(Feuille).Select End Sub Private Sub CommandButton2_Click() Unload Me End Sub
Lorsque je modifie combobox2 les onglets sont bien activés : OK
Lorsque je sélectionne un nom dans combobox1 les informations sont bien affiché dans mes textebo : OK , mais les infos présentent dans la combobox1 sont toujours ceux de l’onglet ouvert au départ.
Ce que je souhaiterai c’est que la liste des noms change en fonction du choix de combobox2
Ça marche bien si je ferme l’userforme et le ré-ouvre.
Comment faire ?
Merci de votre aide cordialement (débutant qui utilise les fonction trouvées sur internet)
Cordialement
Partager