Macro pour décocher toutes les "cases à cocher"

Bonjour,

j'ai un tableau excel comportant beaucoup de cases à cocher (400),

et j'aimerai faire une macro permettant de décocher automatiquement toutes les cases.

J'ai trouver comment décocher les cases une par une :

Sheets("Liste").Shapes("Check Box 1").DrawingObject.Value = 0
Sheets("Liste").Shapes("Check Box 2").DrawingObject.Value = 0

Mais j'aimerai savoir comment faire pour décocher mes 400 cases sans devoir rentrer 400 lignes de codes dans ma macro.

Merci d'avance pour votre aide.

Bonsoir,

essaie avec ce code :

Sub aZeroLesCheckBox()
Dim Shp As Shape
For Each Shp In Sheets("Liste").Shapes
    If Shp.FormControlType = xlCheckBox Then
        Shp.DrawingObject.Value = False
    End If
Next Shp
End Sub

Bonne soirée

Je viens d'essayer le code,

mais ça me renvoit une erreur d'execution 1004,

à la ligne :

 If Shp.FormControlType = xlCheckBox Then

Mes compétences en Excel sont très limités, je ne connais pas le langage VBA,

je ne suis donc pas en mesure de trouver pourquoi ça ne fonctionne pas.

Si quelqu'un a une idée...

Re,

comme tu n'avais pas précisé d'où provenaient tes "CheckBoxs", j'ai supposé qu'ils étaient issus de la barre d'outils "Formulaire"

Or, ils semblent provenir de la barre d'outils "Contrôles"

Dans ce cas, essaie ce code :

Sub aZeroLesCheckBoxControle()
Dim Shps As OLEObject
For Each Shps In Feuil2.OLEObjects
    If Shps.progID = "Forms.CheckBox.1" Then
        Shps.Object.Value = False
    End If
Next Shps
End Sub

bonne soirée

Je viens d'essayer, la macro ne plante pas,

mais ne fait apparemment rien, les cases restent cochées...

Je joins le fichier de test avec des cases et la macro.

Merci encore pour ton aide

1'082decoche-checkbox.xlsm (14.38 Ko)

Re,

Les CheckBoxs provenaient bien de la barre d'outils "Formulaires"

C'est le bouton de commande qui fait planter la première macro donnée...

Essaie avec ce code :

Sub aZeroLesCheckBox()
Dim Shp As Shape
For Each Shp In Sheets("Liste").Shapes
    If Shp.Name Like "Check Box*" Then
        Shp.DrawingObject.Value = False
    End If
Next Shp
End Sub

Cette fois-ci, j'espère que ce sera bon...

Bonne soirée

Merci beaucoup pour ton aide, ça marche nickel !!

145classeur1-2.xlsx (30.18 Ko)

Bonjour,

Excusez moi mais j'ai moi aussi le même problème avec mon bouton AutoShape et ma macro pour décocher les cases d'un comtrôle de formulaire. Le problème est que mon bouton ne provient pas du contrôle du formulaire.

Donc j'ai la même erreur d'excecution 1004. Cela vient de mon bouton aussi, mais quel serait le code pour mon bouton AutoShape.

Merci vous me rendreriez un énorme service si vous pouviez avoir la solution.

Je suppose que chaque nom de bouton a son code?

de nouveau merci

Rechercher des sujets similaires à "macro decocher toutes cases cocher"