1 pièce(s) jointe(s)
Comment améliorer un code comprenant trop de GoTo
Bonjour,
J'ai un UserForm permettant de sélectionner le ou les onglet(s) Mois que l'on souhaite imprimer.
Pièce jointe 318329
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:
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 |