bonsoir le forum
ca commence a faire beaucoup de boutons..
j'ai un userform qui permet de faire une selections d'un ou plusieurs "article" dont les noms sont affichés en caption sur les boutons.
il y a en actuellement 45...et le nombre aurait tendance à augmenter.
à chaque bouton est lié la macro suivante.
Comment faire pour que le code suivant soit appliqué à chaque fois que l'utilisateur clic sur un des x boutons?
cela diminuera au moins la taille du classeur ..et surtout le nécessiter de rajouter du code au cas ou il y aurait plus de boutons, et encore moins fastidieux si je dois faire une modif du code pour chaque bouton.
merci
---------------------------------------------------------------------------
ca commence a faire beaucoup de boutons..
j'ai un userform qui permet de faire une selections d'un ou plusieurs "article" dont les noms sont affichés en caption sur les boutons.
il y a en actuellement 45...et le nombre aurait tendance à augmenter.
à chaque bouton est lié la macro suivante.
Comment faire pour que le code suivant soit appliqué à chaque fois que l'utilisateur clic sur un des x boutons?
cela diminuera au moins la taille du classeur ..et surtout le nécessiter de rajouter du code au cas ou il y aurait plus de boutons, et encore moins fastidieux si je dois faire une modif du code pour chaque bouton.
merci
---------------------------------------------------------------------------
Code:
Private Sub CommandButton55_Click()
On Error Resume Next
nb_cible_à_sélectionner.Caption = 0
'''compte le nombre de primers selectionnés
For I = 1 To Sheets("liste").Range("listes_germes_liste")
If cible_select.Controls("CommandButton" & I).BackColor = &HFF& Then
nb_cible_à_sélectionner.Caption = nb_cible_à_sélectionner.Caption + 1 '''
End If
Next I
'''retranche le primer au total '''si rouge alors déselection
If ActiveControl.BackColor = &HFF& Then ''si rouge alors nb germe -1 et vert
'If cible_select.CommandButton1.Caption = "Ti" Then GoTo no_deselection
If cible_select.ActiveControl.Caption = "Ti" Then GoTo no_deselection
ActiveControl.BackColor = 12648384 'vert
nb_cible_à_sélectionner.Caption = nb_cible_à_sélectionner - 1
Else '''si vert alors selection sous conditions
'''si formule variable alor limite à 11 cibles
If nb_cible_à_sélectionner.Caption * 1 = 11 Then
MsgBox ("nombre de cibles maximum atteint!")
Exit Sub
End If
If Range("Ampli_choix_formule") = "manuel" And nb_cible_à_sélectionner.Caption * 1 = 1 Then
MsgBox ("Une seul cible à la fois")
Exit Sub
End If
ActiveControl.BackColor = &HFF&
nb_cible_à_sélectionner.Caption = nb_cible_à_sélectionner + 1
End If
no_deselection:
End Sub