Pb de recup var vba
Résolu
niny@
Messages postés
107
Date d'inscription
Statut
Membre
Dernière intervention
-
niny@ Messages postés 107 Date d'inscription Statut Membre Dernière intervention -
niny@ Messages postés 107 Date d'inscription Statut Membre Dernière intervention -
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
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
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
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
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
ç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
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 !
@+
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 !
@+
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 :
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
donc pour récupérer le nom du checkbox correctement pour lui appliquer la propriété visible = false n'est pas évidente.
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+
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+
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 !
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 !