Pb de recup var vba

Résolu/Fermé
niny@ Messages postés 107 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 16 septembre 2008 - 9 mai 2008 à 16:14
niny@ Messages postés 107 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 16 septembre 2008 - 13 mai 2008 à 14:14
Bonjour,

voila mon soucis, j'ai une interface sur laquelle je veux qu'il apparaisse certaines info en fonction d'un tableau de paramètres.
je m'explique, j'ai un tableau dans lequel se trouve les valeur 0 ou 1. si 1 alors je recupère le nom de mon checkbox qui est dans une autre case, je la met dans une variable pour ensuite faire en sorte que le checkbox soit invisible sur le userform (generation)

mais ca marche pas car forcement j'ai une erreur de variable. voici mon code :

ligd = 4
cold = 3

While ligd <> 17
If Workbooks(Module_auto_BE.nom_classeur).Sheets("paramètre génération").Cells(ligd, cold).Value = "0" Then
Var = Workbooks(Module_auto_BE.nom_classeur).Sheets("paramètre génération").Cells(ligd, cold - 2).Value
generation.Var.Visible = False
End If
ligd = ligd + 1
Wend


est ce quelqu'un pourrait m'éclaircir

merci

7 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
9 mai 2008 à 17:02
kikou toi ... t'éclaircir ??? ben pourquoi t'aimes pas ton bronzage ??? lol

Bon à première vue, sans être entré dans le détail, tu récupères en fait un string dans var. Et ce string , n'est pas un objet (ici un contrôle checkbox), tu dois avoir une erreur de compilation genre "méthode ou objet introuvable" ...

tu devais pas partir de bonne heure toi ?

;o)

polux
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
9 mai 2008 à 17:21
tiens, j'ai bidouillé un petit truc pour l'exemple : https://www.cjoint.com/?fjrul0rZgO

ça ne répond peut être pas à ta question, mais ça peut t'éclairer.

Si le lien est perdu, fais moi signe, je le repasserai mardi.

bon week, bon soleil et tout et tout

;o)

polux
0
niny@ Messages postés 107 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 16 septembre 2008
11 mai 2008 à 20:31
coucou !!!

oui ca répond bien à ma question !!! j'ai pas encore testé car ce week je fais rien mais je te tiens au courant demain ou mardi !

merci pour ton aide
0
niny@ Messages postés 107 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 16 septembre 2008
13 mai 2008 à 10:25
coucou !!

alors je viens de tester, ca me créer un nouveau checkbox, mais en fait faudrait que j'arrive à griser les checkbox déjà existant. c'est possible ?

je vais essayer de bidouiller ton code pour que ca puisse fonctionner !

@+
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
13 mai 2008 à 12:40
Kikou,

Oui bien sûr que c'est possible. Si tu les as créés de façon dynamique il faut appeler l'objet avec un set :

With UserForm1
Dim chkBox As Object
   Set chkBox = .Controls("lenomdemacheckbox")
   If chkBox.Value = False then
      chkBox.Enabled = False
   Else
     chkBox.Enabled = True
   End If
   Set chkBox = Nothing
End With


Si tu les as crées "manuellement" sur ta UF, il faut le faire par la propiété ou bien en parcourant la collection d'objets sur la UF avec For Each ... Next

Dim cb as Control
For Each cb In UserForm1.Controls
   If TypeOf cb Is CheckBox Then
       cb.Enabled = False
   End If
Next 

Ou un truc comme ça :o)), je ne sais plus trop la syntaxe exacte (heuuu je sais pas si ça marche en vba ...mdr)

Je t'aide pas trop là.

Fais moi signe sinon, je regarderai de plus près.

;o)

Polux
0
oui tu peux
il suffit de faire un
nomducheckpoint.visible=false
0

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

Posez votre question
niny@ Messages postés 107 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 16 septembre 2008
13 mai 2008 à 10:43
j'ai essayé mais le pb vient de plus haut car le nom du chekcbox est récup d'un tableau excel "de paramètres".
donc pour récupérer le nom du checkbox correctement pour lui appliquer la propriété visible = false n'est pas évidente.
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 191
13 mai 2008 à 13:15
Bonjour,
pour travailler avec les noms de contrôles, une idée là..
http://www.commentcamarche.net/forum/affich 6327589 excel vba afficher valeur de textbox
A+
0
niny@ Messages postés 107 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 16 septembre 2008
13 mai 2008 à 14:14
merci à vous trois !!

finallement je me suis pas pris la tête je considère que mes paramètres sont figés sur une feuille excel dans un tableau et en fonction de ca j'affiche ou non mon contrôle, c'est pas terrible comme code mais ca marche. j'améliorerai plus tard !

à la prochaine merci pour votre aide !
0