cyrikou
XLDnaute Occasionnel
Bonjour à tous,
J'ai 40 combobox numérotés de 1 à 40 dans un Userform.
A par le combobox1,jJ'aimerai appliquer une mise en forme conditionnelle identique au 39 autres déclenchée par l’événement "Change"
Voici le code de la mise en forme (non optimisé pour le moment) :
J'ai essayé différentes choses et copier le code 40 fois, n'est pas très propre et surtout encombrant même si c'est efficace.
J'ai compris qu'il fallait créer un module de classe et l'initialiser à l'ouverture.
j'ai trouvé des bouts de code de ci-delà mais cela ne fonctionne pas.
Si quelqu'un à une idée je suis preneur, merci d'avance
J'ai 40 combobox numérotés de 1 à 40 dans un Userform.
A par le combobox1,jJ'aimerai appliquer une mise en forme conditionnelle identique au 39 autres déclenchée par l’événement "Change"
Voici le code de la mise en forme (non optimisé pour le moment) :
Code:
Sub Item_color()
Dim Item As Long
If Controls("ComboBox" & Item).Value = "TB" Then
Controls("ComboBox" & Item).BackColor = RGB(0, 0, 255)
Controls("ComboBox" & Item).ForeColor = RGB(255, 255, 255)
End If
If Controls("ComboBox" & Item).Value = "B" Then
Controls("ComboBox" & Item).BackColor = RGB(2, 187, 6)
Controls("ComboBox" & Item).ForeColor = RGB(0, 0, 0)
End If
If Controls("ComboBox" & Item).Value = "AB" Then
Controls("ComboBox" & Item).BackColor = RGB(255, 255, 255)
Controls("ComboBox" & Item).ForeColor = RGB(0, 0, 0)
End If
If Controls("ComboBox" & Item).Value = "M" Then
Controls("ComboBox" & Item).BackColor = RGB(255, 153, 51)
Controls("ComboBox" & Item).ForeColor = RGB(0, 0, 0)
End If
If Controls("ComboBox" & Item).Value = "P" Then
Controls("ComboBox" & Item).BackColor = RGB(255, 51, 0)
Controls("ComboBox" & Item).ForeColor = RGB(0, 0, 0)
End If
If Controls("ComboBox" & Item).Value = "ABST" Then
Controls("ComboBox" & Item).BackColor = RGB(0, 255, 255)
Controls("ComboBox" & Item).ForeColor = RGB(0, 0, 0)
End If
If Controls("ComboBox" & Item).Value = "NE" Then
Controls("ComboBox" & Item).BackColor = RGB(224, 170, 255)
Controls("ComboBox" & Item).ForeColor = RGB(0, 0, 0)
End If
End Sub
J'ai essayé différentes choses et copier le code 40 fois, n'est pas très propre et surtout encombrant même si c'est efficace.
J'ai compris qu'il fallait créer un module de classe et l'initialiser à l'ouverture.
j'ai trouvé des bouts de code de ci-delà mais cela ne fonctionne pas.
Si quelqu'un à une idée je suis preneur, merci d'avance