Bonjour,

J'ai un UserForm permettant de sélectionner le ou les onglet(s) Mois que l'on souhaite imprimer.

Nom : Imprimer mois.jpg
Affichages : 209
Taille : 58,1 Ko

J'ai essayé de faire une boucle afin d'améliorer le code ci-dessous, car il contient beaucoup trop de GoTo (bien que cela fonctionne ainsi).

Selon si le mois comporte 31, 30 ou 28(29) jours cela affiche et masque certaines colonnes

Si quelqu'un à une idée je suis preneur. Je suis débutant dans en programmation.

Merci d'avance et salutation

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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
 
Private Sub Bouton_Imprimer_Click()
 
    If CB_1.Value = True Then
        UnprotectSheet
        Worksheets("Janvier").Range("CG:CR").EntireColumn.Hidden = False
        Worksheets("Janvier").PrintOut 'PrintPreview
        Worksheets("Janvier").Range("CM:CR").EntireColumn.Hidden = True
        ProtectSheet
    Else
        GoTo Mois2
    End If
Mois2:
    If CB_2.Value = True Then
        UnprotectSheet
        Worksheets("Février").Range("CG:CR").EntireColumn.Hidden = False
        Worksheets("Février").PrintOut 'PrintPreview
        Worksheets("Février").Range("CG:CR").EntireColumn.Hidden = True
        ProtectSheet
    Else
        GoTo Mois3
    End If
Mois3:
    If CB_3.Value = True Then
        UnprotectSheet
        Worksheets("Mars").Range("CG:CR").EntireColumn.Hidden = False
        Worksheets("Mars").PrintOut 'PrintPreview
        Worksheets("Mars").Range("CM:CR").EntireColumn.Hidden = True
        ProtectSheet
    Else
        GoTo Mois4
    End If
Mois4:
    If CB_4.Value = True Then
        UnprotectSheet
        Worksheets("Avril").Range("CG:CR").EntireColumn.Hidden = False
        Worksheets("Avril").PrintOut 'PrintPreview
        Worksheets("Avril").Range("CL:CR").EntireColumn.Hidden = True
        ProtectSheet
    Else
        GoTo Mois5
    End If
Mois5:
    If CB_5.Value = True Then
        UnprotectSheet
        Worksheets("Mai").Range("CG:CR").EntireColumn.Hidden = False
        Worksheets("Mai").PrintOut 'PrintPreview
        Worksheets("Mai").Range("CM:CR").EntireColumn.Hidden = True
        ProtectSheet
    Else
        GoTo Mois6
    End If
Mois6:
    If CB_6.Value = True Then
        UnprotectSheet
        Worksheets("Juin").Range("CG:CR").EntireColumn.Hidden = False
        Worksheets("Juin").PrintOut 'PrintPreview
        Worksheets("Juin").Range("CL:CR").EntireColumn.Hidden = True
        ProtectSheet
    Else
        GoTo Mois7
    End If
Mois7:
    If CB_7.Value = True Then
        UnprotectSheet
        Worksheets("Juillet").Range("CG:CR").EntireColumn.Hidden = False
        Worksheets("Juillet").PrintOut 'PrintPreview
        Worksheets("Juillet").Range("CM:CR").EntireColumn.Hidden = True
        ProtectSheet
    Else
        GoTo Mois8
    End If
Mois8:
    If CB_8.Value = True Then
        UnprotectSheet
        Worksheets("Août").Range("CG:CR").EntireColumn.Hidden = False
        Worksheets("Août").PrintOut 'PrintPreview
        Worksheets("Août").Range("CM:CR").EntireColumn.Hidden = True
        ProtectSheet
    Else
        GoTo Mois9
    End If
Mois9:
    If CB_9.Value = True Then
        UnprotectSheet
        Worksheets("Septembre").Range("CG:CR").EntireColumn.Hidden = False
        Worksheets("Septembre").PrintOut 'PrintPreview
        Worksheets("Septembre").Range("CL:CR").EntireColumn.Hidden = True
        ProtectSheet
    Else
        GoTo Mois10
    End If
Mois10:
    If CB_10.Value = True Then
        UnprotectSheet
        Worksheets("Octobre").Range("CG:CR").EntireColumn.Hidden = False
        Worksheets("Octobre").PrintOut 'PrintPreview
        Worksheets("Octobre").Range("CM:CR").EntireColumn.Hidden = True
        ProtectSheet
    Else
        GoTo Mois11
    End If
Mois11:
    If CB_11.Value = True Then
        UnprotectSheet
        Worksheets("Novembre").Range("CG:CR").EntireColumn.Hidden = False
        Worksheets("Novembre").PrintOut 'PrintPreview
        Worksheets("Novembre").Range("CL:CR").EntireColumn.Hidden = True
        ProtectSheet
    Else
        GoTo Mois12
    End If
Mois12:
    If CB_12.Value = True Then
        UnprotectSheet
        Worksheets("Décembre").Range("CG:CR").EntireColumn.Hidden = False
        Worksheets("Décembre").PrintOut 'PrintPreview
        Worksheets("Décembre").Range("CM:CR").EntireColumn.Hidden = True
        ProtectSheet
    End If
 
 
    Reset_Imprimer_Mois
    Worksheets("2018").Bouton_Menu = True
    Imprimer_Mois.Hide
End Sub