OVH Cloud OVH Cloud

Compression de code

1 réponse
Avatar
STEN
Bonjour =E0 tous!
Est-il possible de simplifier ceci:

Private Sub CmdValidSelection_Click()
If OptJanvier Then
JANVIER.Activate
End If

If OptFevrier Then
FEVRIER.Activate
End If

If OptMars Then
MARS.Activate
End If

If OptAvril Then
AVRIL.Activate
End If

If OptMai Then
MAI.Activate
End If

If OptJuin Then
JUIN.Activate
End If

If OptJuillet Then
JUILLET.Activate
End If

If OptAout Then
AOUT.Activate
End If

If OptSeptembre Then
SEPTEMBRE.Activate
End If

If OptOctobre Then
OCTOBRE.Activate
End If

If OptNovembre Then
NOVEMBRE.Activate
End If

If OptDecembre Then
DECEMBRE.Activate
End If

If OptJanvier_CB Then
CB_JANVIER.Activate
End If

If OptFevrier_CB Then
CB_FEVRIER.Activate
End If

If OptMars_CB Then
CB_MARS.Activate
End If

If OptAvril_CB Then
CB_AVRIL.Activate
End If

If OptMai_CB Then
CB_MAI.Activate
End If

If OptJuin_CB Then
CB_JUIN.Activate
End If

If OptJuillet_CB Then
CB_JUILLET.Activate
End If

If OptAout_CB Then
CB_AOUT.Activate
End If

If OptSeptembre_CB Then
CB_SEPTEMBRE.Activate
End If

If OptOctobre_CB Then
CB_OCTOBRE.Activate
End If

If OptNovembre_CB Then
CB_NOVEMBRE.Activate
End If

If optdecembre_cb Then
CB_DECEMBRE.Activate
End If

End Sub

Merci =E0 tous le monde

1 réponse

Avatar
michdenis
Bonjour Sten,

Et ceci, cela te va ?

Si tu as une version d'avant excel 2002, je crois que tu devras remplacer "Replace" par "application.Substitute" . La
fonction "Substitute" possède les mêmes arguments que la fonction de la feuille de calcul du même nom.

'-----------------------
Private Sub CommandButton1_Click()

Dim T(1 To 12), A As Integer
For A = 1 To 12
T(A) = Format(DateSerial(2004, A, 1), "mmmm")
T(A) = Replace(T(A), "é", "e") 'Pour mois de Février, et décembre
T(A) = Replace(T(A), "û", "u") 'Pour mois de Août
T(A) = UCase(T(A)) 'Mise en majuscule des mois
Next

For A = 1 To 12
Select Case Controls("Opt" & T(A)).Value
Case True
Controls(T(A)).Activate
Exit for 'comme c'est des boutons d'options,
'Seulement 1 contrôle peut être activé à la fois !
End Select
Next
End Sub
'-----------------------


Salutations!



"STEN" a écrit dans le message de news:2f2d101c46cee$50dec710$
Bonjour à tous!
Est-il possible de simplifier ceci:

Private Sub CmdValidSelection_Click()
If OptJanvier Then
JANVIER.Activate
End If

If OptFevrier Then
FEVRIER.Activate
End If

If OptMars Then
MARS.Activate
End If

If OptAvril Then
AVRIL.Activate
End If

If OptMai Then
MAI.Activate
End If

If OptJuin Then
JUIN.Activate
End If

If OptJuillet Then
JUILLET.Activate
End If

If OptAout Then
AOUT.Activate
End If

If OptSeptembre Then
SEPTEMBRE.Activate
End If

If OptOctobre Then
OCTOBRE.Activate
End If

If OptNovembre Then
NOVEMBRE.Activate
End If

If OptDecembre Then
DECEMBRE.Activate
End If

If OptJanvier_CB Then
CB_JANVIER.Activate
End If

If OptFevrier_CB Then
CB_FEVRIER.Activate
End If

If OptMars_CB Then
CB_MARS.Activate
End If

If OptAvril_CB Then
CB_AVRIL.Activate
End If

If OptMai_CB Then
CB_MAI.Activate
End If

If OptJuin_CB Then
CB_JUIN.Activate
End If

If OptJuillet_CB Then
CB_JUILLET.Activate
End If

If OptAout_CB Then
CB_AOUT.Activate
End If

If OptSeptembre_CB Then
CB_SEPTEMBRE.Activate
End If

If OptOctobre_CB Then
CB_OCTOBRE.Activate
End If

If OptNovembre_CB Then
CB_NOVEMBRE.Activate
End If

If optdecembre_cb Then
CB_DECEMBRE.Activate
End If

End Sub

Merci à tous le monde