Decocher toutes les cases a cocher sur un classeur

Bonjour,

Avez-vous une astuce pour décocher l'ensemble des cases à cocher dans l'ensemble d'un classeur Excel??

Merci.

si ça intéresse quelqu'un:

Private Sub CommandButton1_Click()

Dim Chk As CheckBox

For Each Chk In ActiveSheet.CheckBoxes

Chk.Value = 0

Next

End Sub

Bon en fait, ça marche que sur la feuille active: comment dire à la place de activesheet tous le classeur????????

Merci d'avance

Vite fait !

Dim Chk As CheckBox
Dim feuille As Worksheet
    For Each feuille In ActiveWorkbook.Sheets
        For Each Chk In feuille.CheckBoxes
            Chk.Value = 0
        Next
    Next

A plus

Merci!

ça marche nickel!

Et rapide en plus!

Rebonjour,

Ce code marche, mais celui cesse de fonctionner si je "groupe" plusieurs case à cocher.

Il y a t-il une ligne de code à insérer dans le module précédent pour pouvoir l'exécuter même quand les "cases à cocher" sont regroupées?

Merci d'avance.

Bonne soirée

Bonjour,

Pour autant que je me souvienne regrouper des éléments "sort" ces éléments de leur groupe natif.

On ne peut plus les atteindre que par leur nom d'origine (celui qu'ils avaient avant d'être regroupés).

Ainsi si tu as 50 cases à cocher dans chaque feuille dont on peut supposer que (si tu ne les as pas trop chahutés) ils portent le nom :

Case à cocher 1

Case à cocher 2

case à cocher 50

Pour les désactiver tu peux bricoler une boucle comme ça :

Sub test()

Dim Sh As Worksheet

On Error Resume Next

For Each Sh In Sheets

For i = 1 To 50

Sh.DrawingObjects("Case à cocher " & i).Value = 0

Next

Next

End Sub

Si l'une des feuille comporte plus de 50 case à cocher, au lieu de 50 mettre le plus grand indice connu...

Mais on est dans le domaine du tripatouillage, hein ! Normalement il n'y a aucune raison de les grouper...

A+

Merci pour votre réponse, je vais essayer ce bidouillage.

Je les ais regroupé pour pouvoir les déplacer plus facilement sur ma feuille en cas d'une modification de la feuille affectant l'emplacement ou sont situées mes cases à cocher et pour pouvoir dans un premier temps créer et aligner 8 cases afin de les copier sur d'autres feuilles puis modifier leurs textes sans avoir à recréer celle-ci et les aligner maintes et maintes fois. Si il est possible de le faire, c'est qu'il y a une raison, je pense. Si il y à une autre solution, je suis preneur.

En fait j'essaie de faire une checklist des points à faire ou à Contrôler: dès qu'un collaborateur a fait une tâche conseillée , il coche une case.

Sinon comment créer cette checklist en gardant le principe de cocher un truc?

Est-il possible de créer une zone dans le classeur comprenant ces cases mais qui ne suivent pas le fractionnement, de telle façon que mes "cases à cocher" ou autre restent toujours affichées à l'écran, tout en défilant la feuille?

Merci.

Bonne journée

Bonjour,

J'avais bien compris. Et à l'utilisation tu récupères comment la ligne de la Case cochée ?

ça me semble un peu tiré par les cheveux. d'autant qu'à l'utilisation les cases à cocher sont ridiculement petites.

Voici une piste

A+

Pas mal!

et la procédure à suivre?

Et pour remettre à zéro l'ensemble des cases?

Merci!

Bonjour,

Quelqu'un sait comment réaliser l'exploit de la Piste?

Merci.

Bonjour,

Quand une cellule est cochée c'est qu'elle nest pas vide...

Donc si tu veux les décocher YAKA les vider !

Macro à coller dans un module standart (Module1)

Sub RAZ()
For i = 1 to sheets.count
Sheets(i).Columns(1).ClearContents
Next
End sub

A+

Merci.

Comment faire pour pouvoir créer ces cases?!

Bonjour,

Sélectionner toute la colonne A puis choisir le format de police Wingdings taille 16 et éventuellement une couleur...

Puis copier la macro qui est dans le module de feuille (Clic droit sur l'onglet+ Visaliser le Code)

et la coller dans chaque module de feuille concernée. (Feuil1, Feuil2...)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iR%, iC%, Z$
On Error Resume Next
If Target.Count = 1 Then
iR = Target.Row: iC = Target.Column: Z = Target.Value
If iC = 1 Then
Target = IIf(Target = "ü", "", "ü")
Target.Resize(, 2).Select: Target.Offset(0, 1).Activate
End If
End If
End Sub

Nota : La macro d'effacement de toutes les feuilles corrigée :

Cette macro est à coller dans un module Standart (Module1)

Sub RAZ()
For i = 1 to sheets.count
Sheets(i).Columns(1).ClearContents
Next
End sub

A+

Merci.

Comment faire pour mettre ces coches sur une colonne différentes de la colonne A.

et pour effacer ttes les coches qui ne seront pas dans la même colonne sur toutes les feuilles?

Bonjour,

Le N° de colonne est déterminé par

1ère macro :

If iC = 1 Then

2ème macro :

Sheets(i).Columns(1).ClearContents

Selon le cas et la disposition la ligne :

Target.Resize(, 2).Select: Target.Offset(0, 1).Activate

peut être modifié de la manière suivante

Target.Offset(0, 1).Activate

ou la valeur 1 peut être modifié par -1 ou autres valeurs (selon préférence...) sauf zéro

A la limite cette ligne peut être intégralement supprimée mais je ne te le recommande pas : ce serait moins pratique.

A+

Merci!

Et comment remettre les coches à zéro (même si elles ne sont pas dans la même colonne sur toutes les feuilles).

Bonne journée

Sub RAZ()
For i = 1 To Sheets.Count
Sheets(i).Cells.Replace "ü", "", xlPart
Next
End Sub

OK, Merci.

Est-il possible de limiter les cases à cocher à certaines lignes??

Désolé d'être aussi chiant....!

Merci

Bonjour,

Pour chaque feuille définir la plage utile avec le Gestionnaire de Nom :

Dans cette cette feuille jai défini le Nom "PlageFeuil1" pour la plage

=Feuil1!$A$1:$A$14;Feuil1!$A$20:$A$40

Pour chaque feuille choisir un nom différent...

Ensuite modifier chaque macro comme suit :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iR%, iC%, Z$
On Error Resume Next
If Target.Count = 1 Then
Set isect = Application.Intersect(Range("Plagefeuil1"), Target)
  If Not isect Is Nothing Then
    Target = IIf(Target = "ü", "", "ü")
    Target.Resize(, 2).Select: Target.Offset(0, 1).Activate
  End If
End If
End Sub

... Bien sur pour chaque feuille il faut utiliser le nom défini correspondant.

La macro RAZ reste inchangée.

A+

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