Bonjour,
En effectuant des recherches sur Google, je suis tombé sur un fichier qui pourrait répondre à mes besoins.
Donc sur un feuille nommée BD, une suite de dates de A2 à Axx.
Je voudrai afficher sur une autre feuille, dans combobox1 l’année (sans doublon) ou ‘Tout',
et afficher dans combobox2 les mois triés sans doublons (en lettres) correspondants au choix de combobox1
ou bien ‘Tout’ tout pour prendre en compte tous les mois.
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 Option Explicit 'Dans module de feuille Dim F As Worksheet, dm As Object, dy As Object, dl As Long, Tb, i As Long Private Sub Worksheet_Activate() Set dy = CreateObject("Scripting.Dictionary") Set F = Worksheets("BD") dl = F.Range("A" & Rows.Count).End(xlUp).Row Tb = F.Range("A2:A" & dl).Value2 dy("Tout") = "" For i = LBound(Tb) To UBound(Tb) If Not dy.Exists(Year(Tb(i, 1))) Then dy(Year(Tb(i, 1))) = "" Next i Me.ComboBox1.List = dy.Keys End Sub Private Sub ComboBox1_Change() Call CodeMois Set dm = CreateObject("Scripting.Dictionary") Set F = Worksheets("BD") Me.ComboBox2.Clear dl = F.Range("A" & Rows.Count).End(xlUp).Row Tb = F.Range("A2:A" & dl).Value2 dm("Tout") = "" For i = LBound(Tb) To UBound(Tb) If Me.ComboBox1 = "Tout" Then If Not dm.Exists(Month(Tb(i, 1))) Then dm(sMois(Month(Tb(i, 1)))) = "" Else If Year(Tb(i, 1)) = CLng(Me.ComboBox1.Value) Then If Not dm.Exists(Month(Tb(i, 1))) Then dm(sMois(Month(Tb(i, 1)))) = "" End If End If Next i Me.ComboBox2.List = dm.Keys End SubJe ne parviens pas à afficher les mois triés. En vous remerciant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Option Explicit 'Dans module standard Public sMois(1 To 12) Sub CodeMois() sMois(1) = "Janvier": sMois(2) = "Février": sMois(3) = "Mars": sMois(4) = "Avril" sMois(5) = "Mai": sMois(6) = "Juin": sMois(7) = "juillet": sMois(8) = "Août" sMois(9) = "Septembre": sMois(10) = "Octobre": sMois(11) = "Novembre": sMois(12) = "Décembre" End Sub
Partager