Décocher toutes les checkbox dans un classeur

Avé le forum

Je bloque sur une macro qui permettrait de décocher toutes les checkbox cochées dans mon classeur...

Merci !

Salut le forum

Gelonloup, Checkbox issu de la boite de controles ou du formulaire, sur une feuille

ou sur un userform.

Sur un userform

Private Sub CommandButton1_Click() 
Dim ole1 As Control 
For Each ole1 In UserForm1.Controls 
If Left$(ole1.Name, 8) = "CheckBox" Then ole1.Value = False
Next 
End Sub

Sur une feuille

Sub BoucleCheckBox()
    Dim Obj As OLEObject

    For Each Obj In ActiveSheet.OLEObjects
        If TypeOf Obj.Object Is MSForms.CheckBox Then _
            Obj.Object.Value=False
    Next Obj
End Sub

Mytå

Avé forum de Tadoussac et du monde entier

Damned, la macro me sort une erreur de compilation (type défini par l'utilisateur non défini (...)). A noter que les dites checkbox sont sur des feuilles et non pas dans des Useforms, j'ai donc testé la seconde macro...

Merci !

Re Gelonloup

Et elles viennent de la Boîte à outils contrôle ou celle du Formulaire ?

Mytå

Re Re

Heu...Après vérification, ces checkbox proviennent de la boîte à outil.Elles ont été insérées sur 12 feuilles (une pour chaque mois de l'année) identiques . On ne sait jamais, ça peut servir

Salut le forum

Ta macro devrait ressembler à ceci, pour boucler toutes les feuilles

Sub BoucleCheckBoxFeuille()
  Dim Obj As OLEObject
  Dim Sh As Worksheet
    For Each Sh In Worksheets
      For Each Obj In Sh.OLEObjects
        If TypeOf Obj.Object Is MSForms.CheckBox Then _
          Obj.Object.Value = False
      Next Obj
    Next Sh
End Sub

Mytå

Re le forum

Ou si tu veux boucler sur des feuilles précises d'un classeur, liste à adapter

Sub BoucleCheckBoxFeuille()
  Dim Obj As OLEObject
  Dim Sh As Worksheet
    For Each Sh In Sheets(Array("Janvier", "Février", "Mars"))
      For Each Obj In Sh.OLEObjects
        If TypeOf Obj.Object Is MSForms.CheckBox Then _
          Obj.Object.Value = False
      Next Obj
    Next Sh
End Sub

Mytå

Avé le Forum

Par Saint Laurent ! J'ai toujours la même erreur de compilation (Type non défini) !!! Dois-je placer cette macro dans un module ou autre endroit bien précis ? Faut-il définir le Type au préalable ? Ah, merci de guider ma route dans ce désert !

Rechercher des sujets similaires à "decocher toutes checkbox classeur"