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

AlfDoc -  
 AlfDoc -
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.
Configuration: Windows XP Internet Explorer 7.0

5 réponses

  1. chuka Messages postés 980 Statut Membre 379
     
    Salut,
    Je sais pas en quel langage tu programmes mais tu peux peut-être essayer:
    MyCB.Checked
    J'espere ça pourra t'aider!!
    @+
    0
  2. AlfDoc
     
    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
  3. AlfDoc
     
    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
  4. chuka Messages postés 980 Statut Membre 379
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. AlfDoc
     
    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