XL 2013 Cocher / Décocher toutes les Checkbox

YANOU38

XLDnaute Occasionnel
Bonjour à tous,
Ma Feuille "PG" fonctionnait en Cochant/Décochant les Checkbox (checkbox 1 à 20 colonne W) pour Afficher/Masquer les Feuilles.
J'ai voulu ajouter une Checkbox pour Afficher/Masquer toutes les checkbox d'un seul coup.
Tout semble fonctionner, mis à part qu'après ça, je n'accède plus à la chekbox 1 ?
Je ne comprends pas pourquoi.
Merci pour votre aide.
 

Pièces jointes

  • Essai 3.xlsm
    115.8 KB · Affichages: 4
Solution
Bonjour @YANOU38

Passe cettet ligne de False à True :

Enabled : True

1651148939376.png


et met au début de ton code pour les yeux c'est mieux !!!

Application.ScreenUpdating = False

1651149186902.png


*Merci de ton retour

@Phil69970

Hasco

XLDnaute Barbatruc
Repose en paix
bonjour,

une façon de le faire, par boucle for :
VB:
Private Sub CheckBox21_Click()
    Dim i As Integer
    Dim valeur As Boolean
    ' Valeur de la checkbox21
    valeur = CheckBox21
    '
   ' Bloquer la mise à jour de l'écran
   Application.ScreenUpdating = False
    '
    ' Parcourir les checkbox de la feuille par leur noms
    For i = 1 To 20
        Me.OLEObjects("CheckBox" & i).Object.Value = valeur
    Next
    '
    ' Rétablir la mise à jour écran
    Application.ScreenUpdating = True

End Sub
 

Pièces jointes

  • Yanou38.xlsm
    111.4 KB · Affichages: 1

Phil69970

XLDnaute Barbatruc
Bonjour le fil

@YANOU38

Je suis étonné que tu mettes ton propre post en résolu car tu n'as rien trouvé du tout et ton post ne correspond en rien à la réponse que tu souhaitais.
La logique est de valider la réponse qui correspond à la question que tu as posé.
Le but est de montrer qu'une réponse a été trouvée et montrer au forum laquelle correspond à ton problème et donc à ta question.

@Phil69970
 

ChTi160

XLDnaute Barbatruc
Bonjour le Fil
Histoire de vous saluer !
Ou alors !
VB:
Private Sub CheckBox21_Click()
    Dim i As Integer
   ' Bloquer la mise à jour de l'écran
   Application.ScreenUpdating = False    '
    ' Parcourir les checkbox de la feuille par leur nom
    For i = 1 To 20
        Me.OLEObjects("CheckBox" & i).Object.Value = CheckBox21
    Next
    ' Rétablir la mise à jour écran
    Application.ScreenUpdating = True
End Sub
Bonne fin de Journée
Jean marie
 

Discussions similaires

Réponses
2
Affichages
238

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 184
dernier inscrit
Di Martino