Check All

fgehin

XLDnaute Junior
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!
 

Cousinhub

XLDnaute Barbatruc
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
 
G

Guest

Guest
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
 

fgehin

XLDnaute Junior
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!
 

Cousinhub

XLDnaute Barbatruc
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
 

fgehin

XLDnaute Junior
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!
 

Cousinhub

XLDnaute Barbatruc
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
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87