Decocher des cases à cocher en VBA

  • Initiateur de la discussion Initiateur de la discussion Quentin06
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Q

Quentin06

Guest
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
 
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+
 
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! 😉😀
 
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
 
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 +
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

L
Réponses
5
Affichages
2 K
D
Réponses
4
Affichages
991
dkterreur
D
C
Réponses
6
Affichages
3 K
C
Réponses
18
Affichages
6 K
capoiri1
C
Retour