Alléger VBA récurrent

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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,
 
Re : Alléger VBA récurrent

bonjour,

- le but de tout cela, c'est de faire apparaitre la feuille indivuelle de chaque utilisateur de ton classeur ?
- dans ce cas, pourquoi ne pas récupérer le nom d'utilisateur à l'ouverture du classeur et d'afficher sa feuille en automatique ?
 
Re : Alléger VBA récurrent

l'utilisateur voit à l'ouverture du fichier la fiche du précédent au cas où il y a des commentaires.
et le nom d'utilisateur à l'ouverture, plusieurs utilisateur peuvent recevoir le fichier en meme temps.

mon fichier en soit fonctionne comme voulu, c'est surtout lourd à l'ouverture et fermeture d'où l'interet de rechercher une solution allegee...
ou la meme, mais sur une seule feuille utilisee par les autres, mais ca n'a pas l'air d'etre possible.
 
Re : Alléger VBA récurrent

Re 🙂,
- donc si jai deux colonnes de double choix. comment cela doit il etre indiqué dans le code? Car je ne peux pas mettre deux fois le même évenement, et les données en copier coller me mette une erreur.... voir PJ

- et en utilisant des checkbox, j'avais la possibilité par des boutons de tout décocher , est-ce possible ici?
et possibilité de tout cocher a droite , ou tout cocher à gauche?
Target.Column te donne la colonne où on a double cliqué, donc il faut faire le test dessus afin de savoir si c'est ta première ou ta deuxième rangée, et établir le code en conséquence 🙄...
Vu que c'est des cellules qui contiennent "o" ou "ý", il te suffit de les remplir avec l'un ou avec l'autre, tout bêtement 😛...
Maintenant, fait bien attention à circonscrire le champs d'action, sinon tu vas avoir des surprises et des plantages... Tu peux regarder si Target est situé à l'intersection d'une zone définie avec
Code:
If Intersect(Target, Range("A1:B2,E1:F2")) Is Nothing Then Exit Sub
Bon courage 😎
 
Re : Alléger VBA récurrent

Bonjour,

Pardonnez moi je n'ai pu répondre plus tôt au message.

Je vous remerci pour le temps passé, car à partir de là j'ai finalement utilisé une autre méthode. Celle-ci était intéressante car très légère et facile à mettre en oeuvre, mais contraignant vis à vis de la structure du tableau (dans mon cas en tout cas.

J'ai finalement utilisé des boutons d'option.

Mais encore merci, j'aurai appris une méthode tout aussi intéressante et pouvant être utilisé ultèrieurement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
13
Affichages
580
Réponses
10
Affichages
303
Réponses
5
Affichages
252
Réponses
4
Affichages
217
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
189
Réponses
2
Affichages
222
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
544
Retour