For each checkbox

Le
Flac
Bonjour,
Excel 2000
Sur une feuille, j'ai 15 checkbox
J'aimerais avoir une procédure qui s'exécute selon que le checkbox est coché
ou non. J'ai essayé ceci mais ça ne fonctionne pas.
Qq pourrait-il m'aider SVP

Sub test()
For Each CheckBox In ActiveSheet
If CheckBox = True Then
MsgBox ("coché")
Else
MsgBox ("non coché")
End If
Next CheckBox
End Sub

Flac
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #16547231
Bonjour,


For Each c In ActiveSheet.OLEObjects
If c.Object.Value Then
MsgBox "coché"
Else
MsgBox "non coché"
End If
Next

http://boisgontierjacques.free.fr/pages_site/controlestableurBOControle.htm
http://boisgontierjacques.free.fr/pages_site/controlestableurBOForm.htm

JB
http://boisgontierjacques.free.fr


On 14 août, 18:13, "Flac"
Bonjour,
Excel 2000
Sur une feuille, j'ai 15 checkbox
J'aimerais avoir une procédure qui s'exécute selon que le checkbox es t coché
ou non.  J'ai essayé ceci mais ça ne fonctionne pas.
Qq pourrait-il m'aider SVP

Sub test()
For Each CheckBox In ActiveSheet
        If CheckBox = True Then
        MsgBox ("coché")
        Else
        MsgBox ("non coché")
        End If
        Next CheckBox
End Sub

Flac


Flac
Le #16547401
Merci,
Une question complémentaire:
Comment pourrais-je numéroter (de 1 à 15) chacune des checkbox
dans la procédure que tu as suggérée?

Flac
JB
Le #16547511
c.name donne le nom:

For Each c In ActiveSheet.OLEObjects
MsgBox c.Name
If c.Object.Value Then
MsgBox "coché"
Else
MsgBox "non coché"
End If
Next

JB

On 14 août, 19:15, "Flac"
Merci,
Une question complémentaire:
Comment pourrais-je numéroter (de 1 à 15) chacune des checkbox
dans la procédure que tu as suggérée?

Flac


LE TROLL
Le #16548901
Bonjour,

De tête, le checkBox doit avoir trois ou 4 états, donc le test n'est pas
boolean (interger peut être)... tu as : "décoché", "coché", "grisé"...

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"JB"
Bonjour,


For Each c In ActiveSheet.OLEObjects
If c.Object.Value Then
MsgBox "coché"
Else
MsgBox "non coché"
End If
Next

http://boisgontierjacques.free.fr/pages_site/controlestableurBOControle.htm
http://boisgontierjacques.free.fr/pages_site/controlestableurBOForm.htm

JB
http://boisgontierjacques.free.fr


On 14 août, 18:13, "Flac"
Bonjour,
Excel 2000
Sur une feuille, j'ai 15 checkbox
J'aimerais avoir une procédure qui s'exécute selon que le checkbox est
coché
ou non. J'ai essayé ceci mais ça ne fonctionne pas.
Qq pourrait-il m'aider SVP

Sub test()
For Each CheckBox In ActiveSheet
If CheckBox = True Then
MsgBox ("coché")
Else
MsgBox ("non coché")
End If
Next CheckBox
End Sub

Flac


michdenis
Le #16552001
En supposant que tu as conservé comme NOM à
tes contrôles "CHECKBOX" de ta feuille la racine "CHECKBOX"
plus un index comme nom de tes contrôles.


Attention aux coupures de ligne de code par le service de messagerie

'----------------------------------------
Sub CheckBox()
Dim A As Integer, NRacine As String
Dim Obj As OLEObject

With Worksheets("Feuil1") 'Nom de la feuille à adapter
For Each Obj In .OLEObjects
If TypeName(Obj.Object) = "CheckBox" Then
A = A + 1
Select Case .Shapes("CheckBox" &
A).OLEFormat.Object.Object.Value
Case Is = True
'Ton code quand tes checkbox = vrai
MsgBox Obj.Name & " = " & Obj.Object.Value
Case Is = False
'Ton code quand tes checkboox = faux
MsgBox Obj.Name & " = " & Obj.Object.Value
Case Else
'Si la propriété TripleState = true
'et que ton checkbox n'est pas vrai or true
'Ton code
MsgBox Obj.Name & " est ni vrai ou faux."
End Select
End If
Next
End With

End Sub
'----------------------------------------







"Flac" eC28sii$
Bonjour,
Excel 2000
Sur une feuille, j'ai 15 checkbox
J'aimerais avoir une procédure qui s'exécute selon que le checkbox est coché
ou non. J'ai essayé ceci mais ça ne fonctionne pas.
Qq pourrait-il m'aider SVP

Sub test()
For Each CheckBox In ActiveSheet
If CheckBox = True Then
MsgBox ("coché")
Else
MsgBox ("non coché")
End If
Next CheckBox
End Sub

Flac
Flac
Le #16581911
Merci à tous,

C'est très apprécié.

Flac









"michdenis" eFfYVBs$
En supposant que tu as conservé comme NOM à
tes contrôles "CHECKBOX" de ta feuille la racine "CHECKBOX"
plus un index comme nom de tes contrôles.


Attention aux coupures de ligne de code par le service de messagerie

'----------------------------------------
Sub CheckBox()
Dim A As Integer, NRacine As String
Dim Obj As OLEObject

With Worksheets("Feuil1") 'Nom de la feuille à adapter
For Each Obj In .OLEObjects
If TypeName(Obj.Object) = "CheckBox" Then
A = A + 1
Select Case .Shapes("CheckBox" &
A).OLEFormat.Object.Object.Value
Case Is = True
'Ton code quand tes checkbox = vrai
MsgBox Obj.Name & " = " & Obj.Object.Value
Case Is = False
'Ton code quand tes checkboox = faux
MsgBox Obj.Name & " = " & Obj.Object.Value
Case Else
'Si la propriété TripleState = true
'et que ton checkbox n'est pas vrai or true
'Ton code
MsgBox Obj.Name & " est ni vrai ou faux."
End Select
End If
Next
End With

End Sub
'----------------------------------------







"Flac" eC28sii$
Bonjour,
Excel 2000
Sur une feuille, j'ai 15 checkbox
J'aimerais avoir une procédure qui s'exécute selon que le checkbox est
coché
ou non. J'ai essayé ceci mais ça ne fonctionne pas.
Qq pourrait-il m'aider SVP

Sub test()
For Each CheckBox In ActiveSheet
If CheckBox = True Then
MsgBox ("coché")
Else
MsgBox ("non coché")
End If
Next CheckBox
End Sub

Flac




Publicité
Poster une réponse
Anonyme