• Initiateur de la discussion Initiateur de la discussion fgehin
  • 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 !

F

fgehin

Guest
Bonjour à tous!
J'ai un petit problème de checkbox: je souhaite créer un code qui me permette de cocher toutes les checkbox sur ma feuille et je bloque à cet endroit: quel est l'ensemble à spécifier???

Sub Check_All()

Dim cb As CheckBox

For Each cb In ....
cb.Checked = True
Next cb

End Sub

J'espère que vous pourrez m'aider!
Merci d'avance!
 
Re : Check All

Re-,
les deux méthodes :

Code:
Sub Check_All_BO_Controle()
On Error Resume Next
For Each s In Worksheets("Feuil1").Shapes
    If TypeName(s.OLEFormat.Object.Object) = "CheckBox" Then
        If Err = 0 Then
            s.OLEFormat.Object.Object.Value = True
        Else
            Err = 0
        End If
    End If
Next
End Sub

Sub Check_All_BO_Formulaire()
With Worksheets("Feuil1")
    For Each c In .CheckBoxes
        c.Value = 1
    Next
End With
End Sub
 
Re : Check All

voici un solution:

Code:
'Check les checkbox de feuil1
Sub CheckAll()
    Dim oCheck As Object
    For Each oCheck In Feuil1.OLEObjects
     If oCheck.progID = "Forms.CheckBox.1" Then oCheck.Object.Value = True
    Next
End Sub
 
Re : Check All

En fait j'aimerais pouvoir faire quelque chose de plus: est-il possible de cocher toutes les checkbox qui ne sont pas cachées?
Disons que j'ai n lignes avec une checkbox sur chacune et que j'utilise un filtre. Si 10 lignes sont filtrées, donc cachées, je voudrais ne cocher que les n-10 checkbox.

Je ne suis pas (encore!...) trop spécialiste, donc je ne sais pas quel est le type de mes checkbox, par contre le seul code qui a marché pour faire le Check_All parmi ceux proposé est le suivant:

Sub Check_All()
On Error Resume Next
For Each s In Worksheets("Feuil1").Shapes
If TypeName(s.OLEFormat.Object.Object) = "CheckBox" Then
If Err = 0 Then
s.OLEFormat.Object.Object.Value = True
Else
Err = 0
End If
End If
Next
End Sub

D'avance merci à tous!
 
Re : Check All

Re-,
essaie avec ceci :

Code:
Sub Check_All_BO_Controle()
On Error Resume Next
For Each s In Worksheets("Feuil1").Shapes
    If TypeName(s.OLEFormat.Object.Object) = "CheckBox" Then
        If Err = 0 Then
            If s.OLEFormat.Object.Object.Visible = True Then _
                s.OLEFormat.Object.Object.Value = True
        Else
            Err = 0
        End If
    End If
Next
End Sub
 
Re : Check All

j'avoue que je n'y comprends pas grand chose: quand j'essaie ton code, ça en coche certaines (parmi celles visibles) mais pas toutes, et ça coche aussi certaines cases non visibles (mais pas toutes)...
je suis perplexe!
 
Re : Check All

Re-,
effectivement, je n'avais essayé que pour 2 ChkB...
avec ce code, cela devrait fonctionner :

Code:
Sub Check_All_BO_Controle()
On Error Resume Next
For Each s In Worksheets("Feuil1").Shapes
    If TypeName(s.OLEFormat.Object.Object) = "CheckBox" Then
        If Err = 0 Then
                If Rows(s.TopLeftCell.Row).Hidden = False Then _
                s.OLEFormat.Object.Object.Value = True
        Else
            Err = 0
        End If
    End If
Next
End Sub
 
- 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

Réponses
3
Affichages
326
Réponses
5
Affichages
573
Retour