Valeur & Index des CheckBox (OLEObjects) [Résolu] - VB/VBA/VBS - Programmation
Marsh Posté le 21-10-2005 à 10:54:30
Je comprends pas très bien d'où vient mon erreur parce qu'en parcourant quelques sites & forums, je retrouve bien des instructions comme celles ci: (copier/coller à partir du forum)
Citation : If CheckBox9.Value = True Then |
Je me dis alors que mon problème viens peut être lors de la création des checkbox et qu'après la création il ne reconnais pas les instructions "ChekBox1.Value = True"
Pour créer mes CheckBox j'ai utilisé ce code:
Citation : Do While Cells(i, 1).Value <> "" |
Après la fin de cette partie de code j'ai bien des CheckBox de créées ayant pour nom CheckBox1, CheckBox2, CheckBox3, etc...
Vous voyez d'où viens mon erreur?
Parce que moi je nage complet dans la semoule
Marsh Posté le 21-10-2005 à 13:58:12
- If CheckBox1.Value = 1Then
CheckBox2.Value = 0
CheckBox3.Value = 0
CheckBox4.Value = 0
End If
- ActiveSheet.CheckBox1.Value = 1
Les valeurs :
0 - décoché
1 - coché
2 - Desactivé
Marsh Posté le 21-10-2005 à 15:33:27
Merci ça marche! Mais seulement avec l'instruction:
ActiveSheet.CheckBox1.Value = ...
True -> Coché
False -> Décoché
Null -> Désactivé (Grisé & coché)
Les chiffres j'ai pas l'impression que ça marche.
J'ai une autre question à présent. Je veux effectuer un test des CheckBox l'un à la suite de l'autre un peu comme ça:
Citation : For i = 1 To loop_number |
Mais à la place de "CheckBox1" je voudrais mettre quelque chose du style "CheckBoxi" "i" étant la variable d'incrémentation de la boucle. En gros comment gérer les index des CheckBox?
Vous avez une idée? Plusieurs???
Marsh Posté le 21-10-2005 à 16:47:45
Il y a 3 valeur pour un checkbox en VB:
vbChecked
vbUnChecked
vbGrayed
Marsh Posté le 21-10-2005 à 17:09:09
tunisiano8 a écrit : essaie avec "checkbox" & i |
Marche pô
J'ai essayé ça:
If ActiveSheet."checkbox" & i.Value = True Then
L'erreur me dis "Erreur de compilation: Attendu: identificateur ou expression entre crochets
J'avais déjà essayé des choses du même style mais sans succès. Je ne désespère pas trouver un jour
Mais si vous avez d'autres idées n'hésitez surtout pas... J'suis preneur
Marsh Posté le 24-10-2005 à 10:27:50
Je n'arrive toujours pas à changer l'index des CheckBox dans une boucle. Pensez vous qu'il y a une solution? Y'a t'il un moyen de contourner ce problème?
Marsh Posté le 24-10-2005 à 14:17:34
Salut orocher,
D'abord petite question, si tu ne veux qu'un choix possible pourquoi n'utilises tu pas les optionbuttons, il sont d'entrée de jeux "programés" pour ne permettre qu'un choix (un seul choix sur chaque feuille) ?
le code pour les mettre en place est quasiment identique :
Code :
|
ton test sur les "value" il doit pour fonctioner passer par la méthode object de l'oleobject :
Code :
|
et là tu peux incrémenter tes objects par i et les valeur renvoyées sont bien true ou false.
Ta boucle sur le test donnes au peu près ça :
Code :
|
(j'ai mis une msgbox pour le résultat car je n'ai pas la fonction que tu appelles)
Si tu tiens a utiliser des checkbox plutôt que des optionbuttons ça marche de la même manière.
bon courage
Marsh Posté le 24-10-2005 à 14:37:39
Je te remercie WaTaShi, ça marche o poil!!!
Par contre comme chaque OLEObjects peux être coché ou non (plusieurs choix) je dois bel et bien utiliser des CheckBox.
Encore une fois merci parce que je n'aurais jamais trouvé ça tout seul.
Marsh Posté le 24-10-2005 à 14:40:31
de rien
Marsh Posté le 21-10-2005 à 10:01:34
Salut,
J'utilise des CheckBox sur une feuille Excel et je souhaite connaître les instructions permettant de forcer une valeur dans une checkBox ou bien de tester sa valeur.
Mes CheckBox s'appelle "CheckBox1", "CheckBox2", etc... mais j'ai eu beau essayé les instructions suivantes mais sans résultat:
- If CheckBox1.Value = True Then
CheckBox2.Value = False
CheckBox3.Value = False
CheckBox4.Value = False
End If
- ActiveSheet.Shapes("CheckBox1" ).Value = True
Mais lorsque j'exécute j'ai des messages d'erreurs du type: "Objet requis" ou "Propriété ou méthode non gérée par cet objet"
C'est bien sur du VBA que j'utilise (Excel 2003), avez vous des suggestions d'instructions?
Message édité par Orocher le 24-10-2005 à 14:38:51
---------------
Tout vient à point à qui sait se détendre