OVH Cloud OVH Cloud

Checkbox

4 réponses
Avatar
ChristianB
Bonjour,
Quelqu'un (plus compétent que moi :)) pourrait-il me dire ce qui cloche dans
les lignes de code suivantes :
For i = 1 To 8
ctrl = "Checkbox" & i
If ctrl = True Then
blablabla
End If
Next i

J'ai mis 8 CheckBoxes sur une feuille (pas dans un UserForm) et je veux
toutes les tester. Il doit me manquer une déclaration qquepart.

Merci d'avance !

Christian

4 réponses

Avatar
AV
S'il s'agit de CheckBoxes issu de la BO Controles :

Sub zzz()
For Each cc In ActiveSheet.OLEObjects
If cc.Name Like "CheckBox*" Then
If ActiveSheet.OLEObjects(cc.Name).Object.Value = True Then
MsgBox "blabla"
End If
End If
Next
End Sub

Si CheckBoxes issus de la barre Formulaire, relance

AV
Avatar
ChristianB
Là, je dis : Super !!!
Les CheckBoxes provenaient bien de la BO contrôles.
Par contre, si je comprends bien, si les checkboxes provenaient de la BO
formulaire, mon code aurait fontionné ?

Grand merci pour le coup de main, AV !

"AV" wrote:

S'il s'agit de CheckBoxes issu de la BO Controles :

Sub zzz()
For Each cc In ActiveSheet.OLEObjects
If cc.Name Like "CheckBox*" Then
If ActiveSheet.OLEObjects(cc.Name).Object.Value = True Then
MsgBox "blabla"
End If
End If
Next
End Sub

Si CheckBoxes issus de la barre Formulaire, relance

AV





Avatar
AV
Par contre, si je comprends bien, si les checkboxes provenaient de la BO
formulaire, mon code aurait fontionné ?


Non !
Il aurait fallu ce type d'instructions :

For Each cc In ActiveSheet.CheckBoxes
If cc.Value = xlOn Then MsgBox "Blabla"
Next

AV

Avatar
ChristianB
OK, encore un grand merci pour les infos


Par contre, si je comprends bien, si les checkboxes provenaient de la BO
formulaire, mon code aurait fontionné ?


Non !
Il aurait fallu ce type d'instructions :

For Each cc In ActiveSheet.CheckBoxes
If cc.Value = xlOn Then MsgBox "Blabla"
Next

AV