max.lander
XLDnaute Occasionnel
Bonjour à tous,
Je m'en remets une nouvelle fois à vous pour simplifier un projet.
En effet, j'utilise un userform contenant 7 combobox, un pour chaque jour de la semaine.
Pour chaque journée, j'ai deux plages horaires (Matin + APM).
En fonction du combobox, je souhaite pouvoir activer ou désactiver les zone horaires.
Si Matin on bloque et grise l'après-midi ainsi de suite.
J'ai créer un bout de code pour la journée 1, le code fonctionne bien mais je trouve très lourd de répéter 7 fois la même chose, la question est simple peut-on simplifier ?
De plus le code est très long pour une opération au final très simple
Vous trouverez en PJ un fichier exemple.
Merci par avance
Je m'en remets une nouvelle fois à vous pour simplifier un projet.
En effet, j'utilise un userform contenant 7 combobox, un pour chaque jour de la semaine.
Pour chaque journée, j'ai deux plages horaires (Matin + APM).
En fonction du combobox, je souhaite pouvoir activer ou désactiver les zone horaires.
Si Matin on bloque et grise l'après-midi ainsi de suite.
J'ai créer un bout de code pour la journée 1, le code fonctionne bien mais je trouve très lourd de répéter 7 fois la même chose, la question est simple peut-on simplifier ?
De plus le code est très long pour une opération au final très simple
Vous trouverez en PJ un fichier exemple.
Merci par avance
VB:
Sub CBox_Journée1()
Selection = Planner.Controls("ComboBox_Journée1").Value
Select Case Selection
Case Is = "Journée"
For i = 1 To 4
Planner.Controls("TextBox_H" & i).Enabled = True
Planner.Controls("TextBox_H" & i).BackColor = &H80000005
Planner.Controls("TextBox_H" & i).Value = ""
Next
Case Is = "Repos"
For i = 1 To 4
Planner.Controls("TextBox_H" & i).Enabled = False
Planner.Controls("TextBox_H" & i).BackColor = &H80000011
Planner.Controls("TextBox_H" & i).Value = ""
Next
Case Is = "RTT"
For i = 1 To 4
Planner.Controls("TextBox_H" & i).Enabled = False
Planner.Controls("TextBox_H" & i).BackColor = &H80000011
Planner.Controls("TextBox_H" & i).Value = ""
Next
Case Is = "Soirée"
For i = 1 To 2
Planner.Controls("TextBox_H" & i).Enabled = False
Planner.Controls("TextBox_H" & i).BackColor = &H80000011
Planner.Controls("TextBox_H" & i).Value = ""
Next
For i = 3 To 4
Planner.Controls("TextBox_H" & i).Enabled = True
Planner.Controls("TextBox_H" & i).BackColor = &H80000005
Next
Case Is = "Après-Midi"
For i = 1 To 2
Planner.Controls("TextBox_H" & i).Enabled = False
Planner.Controls("TextBox_H" & i).BackColor = &H80000011
Planner.Controls("TextBox_H" & i).Value = ""
Next
For i = 3 To 4
Planner.Controls("TextBox_H" & i).Enabled = True
Planner.Controls("TextBox_H" & i).BackColor = &H80000005
Next
Case Is = "Matin"
For i = 1 To 2
Planner.Controls("TextBox_H" & i).Enabled = True
Planner.Controls("TextBox_H" & i).BackColor = &H80000005
Next
For i = 3 To 4
Planner.Controls("TextBox_H" & i).Enabled = False
Planner.Controls("TextBox_H" & i).BackColor = &H80000011
Planner.Controls("TextBox_H" & i).Value = ""
Next
End Select
End Sub