ptitflo666
XLDnaute Nouveau
Bonjour,
en espérant trouver de l'aide..
J'ai un classeur excel regroupant une trentaine de feuille.
Sur chaque feuilles j'ai également une trentaine de checkbox avec macro. (certaine sont identiques entre feuilles, d'autre non..) . Risquant d'augmenter au fil du temps (aussi bien les feuilles que les boutons).
Chaque checkbox , ou presque, marche par paire, si l'une est cochée l'autre non, possibilité de décocher les deux, et parfois action en fonction (masquer ou non des feuilles).
Ce qui me donne sur chaque feuille environ trente fois cela (de manière a copier coller chaque feuille VBA pour ne pas trier si bouton similaire il y a ou non..) :
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Or CheckBox2.Value = True Then 'si une des deux cases est cochée
Sheets("Feuil2").Visible = True 'une feuille apparait
Else
Sheets("Feuil2").Visible = False 'sinon la feuille est masquée
End If
If CheckBox1.Value = True Then 'si l'une est cochée
CheckBox2.Value = False 'l'autre est décochée
End If
End Sub
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Or CheckBox1.Value = True Then
Sheets("Feuil2").Visible = True
Else
Sheets("Feuil2").Visible = False
End If
If CheckBox2.Value = True Then
CheckBox1.Value = False
End If
End Sub
pareil avec checkbox3 et checkbox4, avec 5 et 6, etc.... Sachant que sur mes feuilles les noms sont du type "nom_type1" et "nom_type2" .
Etant donné que je peux être ameneer à réutiliser les boutons sur les différentes feuilles, à chaque modifications des codes, je selectionne tout, et le copie/colle sur toutes les autres feuilles. C'est lourd, long , et je m'y perds.
Comment faire pour utiliser thisworkbook afin que ce codage soit executer sur toutes les feuilles? Il doit y avoir for each ws in worksheets etc... Mais je n'arrive pas à l'utiliser.
merci par avance,
en espérant trouver de l'aide..
J'ai un classeur excel regroupant une trentaine de feuille.
Sur chaque feuilles j'ai également une trentaine de checkbox avec macro. (certaine sont identiques entre feuilles, d'autre non..) . Risquant d'augmenter au fil du temps (aussi bien les feuilles que les boutons).
Chaque checkbox , ou presque, marche par paire, si l'une est cochée l'autre non, possibilité de décocher les deux, et parfois action en fonction (masquer ou non des feuilles).
Ce qui me donne sur chaque feuille environ trente fois cela (de manière a copier coller chaque feuille VBA pour ne pas trier si bouton similaire il y a ou non..) :
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Or CheckBox2.Value = True Then 'si une des deux cases est cochée
Sheets("Feuil2").Visible = True 'une feuille apparait
Else
Sheets("Feuil2").Visible = False 'sinon la feuille est masquée
End If
If CheckBox1.Value = True Then 'si l'une est cochée
CheckBox2.Value = False 'l'autre est décochée
End If
End Sub
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Or CheckBox1.Value = True Then
Sheets("Feuil2").Visible = True
Else
Sheets("Feuil2").Visible = False
End If
If CheckBox2.Value = True Then
CheckBox1.Value = False
End If
End Sub
pareil avec checkbox3 et checkbox4, avec 5 et 6, etc.... Sachant que sur mes feuilles les noms sont du type "nom_type1" et "nom_type2" .
Etant donné que je peux être ameneer à réutiliser les boutons sur les différentes feuilles, à chaque modifications des codes, je selectionne tout, et le copie/colle sur toutes les autres feuilles. C'est lourd, long , et je m'y perds.
Comment faire pour utiliser thisworkbook afin que ce codage soit executer sur toutes les feuilles? Il doit y avoir for each ws in worksheets etc... Mais je n'arrive pas à l'utiliser.
merci par avance,