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

XL 2010 Macro pour décocher toutes les cases à cocher d'une feuille

rosabelle

XLDnaute Junior
Bonjour,

J'aurais besoin d'un coup de pouce :

Sur une feuille j'ai une multitude de cases à cocher.
Pour remettre à zéro cette feuille j'ai besoin entre autres de décocher toutes ces cases en une seule fois.
Quel serait le code qui chercherait toutes les cases à cocher de la feuille et les mettrai en "décoché" systématiquement que l'utilisateur les ait cochées ou pas.
J'ai tenté avec visual basic mais il ne se passe rien.
Merci par avance
 

Pièces jointes

  • Test effacer toutes les cases à cocher de la feuille.xlsm
    17.1 KB · Affichages: 10
Solution
Re

Pour commodité de lecture, je remets le code posté jadis dans la discussion citée dans celle-ci
VB:
Sub test_I()
'coche tous les types de CheckBox
Application.ScreenUpdating = False
Cochez True
End Sub
Sub test_II()
'décoche tous les types de CheckBox
Application.ScreenUpdating = False
Cochez False
End Sub

Private Sub Cochez(statut As Boolean)
Dim c As Object
With ActiveSheet
    .CheckBoxes.Value = statut
    For Each c In .OLEObjects
    If TypeName(c.Object) = "CheckBox" Then c.Object.Value = statut
    Next c
End With
End Sub

rosabelle

XLDnaute Junior
Dors paisiblement @Staple1600 , ton code fonctionne à merveille.
Celui de @soan était plus court et correspondait à ce que je voulais faire: uniquement décocher les cases en effet .
Je l'en remercie encore mais ensuite il y a eu le hic dans mon fichier.
Et tout compte fait le tien avec la partie "cocher toutes les cases" s'avère en effet utile car plutôt que de tout recocher pour tester le code "décocher" c'est bien pratique de l'avoir aussi.

Peux-tu m'expliquer ce que veut dire, hum enfin après une bonne nuit de sommeil bien mérité !

Private Sub Cochez(statut As Boolean)
Dim c As Object
With ActiveSheet
.CheckBoxes.Value = statut
For Each c In .OLEObjects
If TypeName(c.Object) = "CheckBox" Then c.Object.Value = statut
Next c
End With
End Sub

Encore merci merci merci à vous
 

rosabelle

XLDnaute Junior
Bonjour,
Comme je l'avais dit dans mon post 4 j'avais mis uniquement une partie du code uniquement ce qui explique que ça ne fonctionnait pas :

Sub test_II()
'décoche tous les types de CheckBox
Application.ScreenUpdating = False
Cochez False
End Sub

Encore merci
Bonne soirée
 

Discussions similaires

Réponses
18
Affichages
661
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…