Bonjour,
Je vais commencer par dire que je suis débutant.
Sur ces bonnes bases, je vous explique mon problème j'ai créée un UserForm avec à l'intérieur un ComboBox contenant tous les mois d'une année. Je voudrai pouvoir récupérer le résultat sélectionné par l'utilisateur du ComboBox dans une varible pour après l'utiliser dans la procédure Sub Workbook_Open() ainsi que dans un de mes modules. Mais je beau essayai dans tous les sens y a rien a faire je n'arrive pas porté ma variable... Je pense que je dois utiliser les notion de procédure public non? Mais je crois que je n'y arrive pas. S'il vous plait donner moi un coup de main.
Mon UserForm :
Ma procédure qui se lance au démarrage :
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 Sub UserForm_Initialize() ComboBox1.Clear ComboBox1.AddItem "Janvier" ComboBox1.AddItem "Février" ComboBox1.AddItem "Mars" ComboBox1.AddItem "Avril" ComboBox1.AddItem "Mai" ComboBox1.AddItem "Juin" ComboBox1.AddItem "Juillet" ComboBox1.AddItem "Août" ComboBox1.AddItem "Septembre" ComboBox1.AddItem "Octobre" ComboBox1.AddItem "Novembre" ComboBox1.AddItem "Décembre" End Sub Sub CommandButton1_Click() mois = ComboBox1.Value Unload Me End Sub Sub CommandButton2_Click() Unload Me End Sub
Encore merci pour votre aide.
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
50
51
52
53
54
55
56
57
58 Public Sub Workbook_Open() 'Execute le boîte de dialogue UserForm1.Show datejour = Date - 1 Modele = "Modele.xls" mois2 = Month(Now) - 1 année2 = Year(Now) NomRepertoire = ActiveWorkbook.Path & "\Logs" MsgBox mois MsgBox année 'If mois = Month(Now) And année = Year(Now) Then 'NomFichier = ActiveWorkbook.Path & "\Fichier_" & mois2 & "_" & année2 & ".xls" 'Else NomFichier = ActiveWorkbook.Path & "\Fichier_" & mois & "_" & année & ".xls" 'End If 'Commande de refresh du document Application.ScreenUpdating = True 'Si on est sur le modèle de la Check List, on ouvre une fenêtre pour l'enregistrement de celle ci If (ActiveWorkbook.Name <> Modele) Then Exit Sub Else Set fso = CreateObject("Scripting.FileSystemObject") 'Création du Répertoire If Not (fso.FolderExists(NomRepertoire)) Then fso.CreateFolder (NomRepertoire) 'Si Fichier Excel existe If fso.FileExists(NomFichier) Then 'Ouvrir le fichier existant Workbooks.Open FileName:=NomFichier Workbooks(Modele).Close SaveChanges:=False Else 'Créer un nouveau fichier Excel Dim lngCount As Long With Application.FileDialog(msoFileDialogSaveAs) .AllowMultiSelect = False .InitialFileName = NomFichier If .Show = -1 Then For lngCount = 1 To .SelectedItems.Count Workbooks(Modele).SaveAs (.SelectedItems(lngCount)) Next lngCount Else Exit Sub End If End With ActiveWorkbook.Save End If End If 'recupere l'espace memoire utiliser par fso Set fso = Nothing 'Call Connect End Sub
Partager