Récupération de la valeur d'une CheckBox

Fermé
AlfDoc - 12 juin 2009 à 17:28
 AlfDoc - 12 juin 2009 à 18:42
Bonjour,

J'ai un petit soucis, enfin j'espère...

Je n'arrive pas à récupérer la valeur d'une CheckBox qui est normalement True ou False.

Je pensais pouvoir la récupérer avec .Value qui devrait me retourner True ou False.

Voici mon code avec en entier (enfin pour la partie des checkbox) :

Dim MyCB As Object

Set MyCB = Worksheets("feuille1").Shapes.AddFormControl(xlCheckBox, Left + 23, Top, Width - 50, Height)
MyCB.Select
With Selection
.Display3DShading = True
.Name = "MyCB"
.Value = True
End With
MyCB.TextFrame.Characters.Text = ""

If MyCB.Value = True Then
MsgBox("yes, ça marche !")
End If


et voilà, il bloque sur le dernier test, et je n'arrive pas à comprendre pourquoi.

Si quelqu'un peut me débloquer, me donner une solution, un page web où je peux trouver l'info, enfin n'importe quoi, je suis preneur.

Merci.

Alexandre.

5 réponses

chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
12 juin 2009 à 17:40
Salut,
Je sais pas en quel langage tu programmes mais tu peux peut-être essayer:
MyCB.Checked
J'espere ça pourra t'aider!!
@+
0
Arg,

ça marche toujours pas.

msg d'erreur :
"Erreur d'exécution '438'
Propriété ou méthode non gérée par cet objet"

J'ai l'impression d'avoir un problème avec MyCB.
Je n'arrive pas à en faire ce que je veux.

Et je trouve très étrange que je puisse faire :
MyCB.Select
With Selection
.Value = True
End With

Et par la suite ne pas faire le test :
MyCB.Value = True


Sinon je suis sur une macro d'excel, visual basic (jsuis pas sûr que ça réponde à ta question...).

Merci pour la réponse en tout cas.

++ Alex.
0
D'ailleurs pour info, si j'écris les choses de la manière suivante, cela ne marche pas :


Set MyCB = Worksheets("feuille1").Shapes.AddFormControl(xlCheckBox, Left + 23, Top, Width - 50, Height)
MyCB.Select
With Selection
.Display3DShading = True
.Name = "MyCB"

End With
MyCB.TextFrame.Characters.Text = ""

MyCB.Value = True


Il bloque sur la dernière ligne, alors qu'en faisant un Select puis un Selection.Value = True, mon programme marche. J'arrive pas à comprendre la différence.
0
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
12 juin 2009 à 18:29
Salut,
Ben je suis pas un spécialiste en VB... mais apparemment la valeur retounée n'est pas true/false mais 0/1....
//code sur le msdn
Visual Basic 6.0
Private Sub Check1_Click()
If Check1.Value = 1 Then
Peut-etre une piste.....mais je sais pas, encore, comment VB gère les booléens...
Je pourrais pas t'aider plus...dsl....
@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Je l'avais déjà testé également.

Mais ça ne marche pas non plus.

Je me dis que le problème vient peut-être d'ailleurs puisque je n'arrive pas à trouver d'autres écritures sur le net.

Va falloir impérativement que je trouve une solution.

Merci pour les réponses quand même.

+ Alex.
0