Decocher des cases à cocher en VBA

Quentin06

XLDnaute Nouveau
Bonjour à tous,

Je ne gère pas bien le VBA et je tombe donc sur un petit OS.

J'ai sur une feuille une vingtaine de case à cocher.
Je souhaiterais créer un bouton afin de les décocher toutes en un seul coup (et ceux peut importe le nombre de case activé a l'origine.)

J'ai plusou ou moins tenté d'écrire un code mais rien a faire!

Sub UnCheck()

For Each CB In Sheets("Formulaire").OLEObjects
If CB.progID = "Forms.CheckBox.1" Then CB.Object.Value = False
Next CB

End Sub

Quelqu'un aurai-t-il une idée?

Merci beaucoup,

Quentin
 
G

Guest

Guest
Re : Decocher des cases à cocher en VBA

Bonjour,

Ce code fonctionne avec des case à cocher provenant de la barre d'outils 'Contrôle ActiveX' mais pas ceux de la barre d'outils 'Contrôles de formulaire'.

C'est la journée:)

A+
 

Quentin06

XLDnaute Nouveau
Re : Decocher des cases à cocher en VBA

Hello,

Merci à tous pour votre aide tout d'abord!

Alors je pense qui s'agit de case à cocher de la barre d'outils 'Contrôles de formulaire'.
Lorsque j'ai commencé mon fichier j'étais sous 2003, maintenant sous office 2007 et malheureusement je ne trouve plus la barre d'outil, je n'arrive plus a voire comment se nomme mes case à cocher.


J'ai essayé les différent code que vous m'avez transmis:
Sub test()
For i = 1 to 20
Me("CheekBox"&i).value=false
next i
End test()

Lorsque je l’exécute avec un bouton, on me dis : Erreur de compilation, utilisation incorrecte du mot clé Me.
Dois-je declarer ma variable i? Es : Dim i as integer?

Pour l'autre code,
Dim c As Shape
For Each c In Feuil1.Shapes
If c.FormControlType = xlCheckBox Then c.DrawingObject.Value = False
Next c
Lorsque j’exécute celle-ci, j'ai un message me disant "erreur d’exécution" et lors du débogage,la ligne "If c.FormControlType = xlCheckBox Then" est soulignée.

Dans tout les cas merci à vous, et néné dis bonjour à la vielle Nissa elle me manque de trop ici dans la capital! ;):D
 

PMO2

XLDnaute Accro
Re : Decocher des cases à cocher en VBA

Bonjour,

Si ce sont des cases à cocher de formulaire alors essayez le code suivant en ayant préalablement activé la feuille où ils se trouvent

Code:
Sub CheckBoxFalse()
Dim CB As Excel.CheckBox
Dim S As Worksheet
Dim i&
Set S = ActiveSheet
For i& = 1 To S.CheckBoxes.Count
  Set CB = S.CheckBoxes(i&)
  CB.Value = False
Next i&
End Sub

Cordialement.

PMO
Patrick Morange
 

stefan373

XLDnaute Occasionnel
Bonsoir quentin06 et le forum.

Code:
Private Sub CommandButton1_Click()
 Dim Obj As OLEObject
      For Each Obj In Sheets("Feuil1").OLEObjects
         If TypeOf Obj.Object Is MSForms.CheckBox Then
           Obj.Object.Value = False
         End If
      Next Obj
 End Sub

Et celui-ci pour les checkbox outil activex.

A +
 

Quentin06

XLDnaute Nouveau
Re : Decocher des cases à cocher en VBA

Bonjours à tous,

Il s'agissait bien de case à cocher de la barre d'outil formulaire et le code de PMO2 marche à merveille.

Je vous remercie vivement de votre partage de savoir faire et connaissance!!

Quentin
 

Discussions similaires

Réponses
5
Affichages
526

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16