Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

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

YANOU38

XLDnaute Occasionnel
Re-bonjour Phil69970,
J'étais tellement content que cela fonctionne que j'en ai oublié la suite du message.
Avec
VB:
Application.ScreenUpdating = False
Merci pour mes yeux !
 

Pièces jointes

  • Essai 3.xlsm
    123.6 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
289
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…