A voir également:
- [VBA] identifier une checkbox par un index
- Identifier appareil avec adresse mac - Guide
- Index téléphonique - Guide
- Identifier un objet à partir d'une photo - Guide
- Comment s'appelle l’adresse qui est attribuée à un appareil quand il se connecte à internet et qui permet de l'identifier sur le réseau ? - Guide
- Excel compter cellule couleur sans vba - Guide
2 réponses
incaout
Messages postés
347
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 novembre 2012
74
7 avril 2009 à 20:16
7 avril 2009 à 20:16
Bonsoir,
Si tes cases à cocher sont directement dans la feuille excel, il faut utiliser ceci :
dim Feuil as worksheet
dim Ctrl
set Feuil = activeworksheet ou set Feuil = activeWorkbook.worksheets("nomdemafeuille")
For Each Ctrl In Feuil.OLEObjects
If TypeOf Ctrl.Object Is MSForms.CheckBox Then
if Ctrl.value = true then
select case (Ctrl.name)
case "nom1" : instruction
case "nom2" : instruction
end select
end if
end if
next Ctrl
PS : Chez moi, il s'agissait de bouton radio. A vérifier que le type est bien CheckBox. Bon courage
IC
Si tes cases à cocher sont directement dans la feuille excel, il faut utiliser ceci :
dim Feuil as worksheet
dim Ctrl
set Feuil = activeworksheet ou set Feuil = activeWorkbook.worksheets("nomdemafeuille")
For Each Ctrl In Feuil.OLEObjects
If TypeOf Ctrl.Object Is MSForms.CheckBox Then
if Ctrl.value = true then
select case (Ctrl.name)
case "nom1" : instruction
case "nom2" : instruction
end select
end if
end if
next Ctrl
PS : Chez moi, il s'agissait de bouton radio. A vérifier que le type est bien CheckBox. Bon courage
IC
Merci de ton aide.
Du coup j'ai utilisé une autre méthode, plus simple je dirais, qui est la suivante :
Sub BoucleCheckBox_V02()
Dim i As Byte
For i = 1 To 3
MsgBox ActiveSheet.OLEObjects("CheckBox" & i).Name & ": " & _
ActiveSheet.OLEObjects("CheckBox" & i).Object.Value
Next i
End Sub
(source https://excel.developpez.com/faq/?page=OleObject#BoucleOleObject)
Enfin juste cette ligne précisément, que j'ai insérée dans ma boucle :
ActiveSheet.OLEObjects("CheckBox" & i).Object.Value
Merci de t'être penché sur ma question.
Du coup j'ai utilisé une autre méthode, plus simple je dirais, qui est la suivante :
Sub BoucleCheckBox_V02()
Dim i As Byte
For i = 1 To 3
MsgBox ActiveSheet.OLEObjects("CheckBox" & i).Name & ": " & _
ActiveSheet.OLEObjects("CheckBox" & i).Object.Value
Next i
End Sub
(source https://excel.developpez.com/faq/?page=OleObject#BoucleOleObject)
Enfin juste cette ligne précisément, que j'ai insérée dans ma boucle :
ActiveSheet.OLEObjects("CheckBox" & i).Object.Value
Merci de t'être penché sur ma question.