VBA Créer des objets dynamiquement
JeanJean
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,
Je travaille actuelement sur ma base de données Access 2007 et je voudrai réaliser une petite application.
Je voudrai réaliser un project plan dans un formulaire sur access.
Voila comment je procède pour l'instant:
J'ai créé une liste déroulante où je sélectionne mon projet.
Cette liste déroulante m'ouvre mon formulaire Project plan.
J'ai créé en dur une dizaine de TextBox. Chaque Textbox correspond à un enregistrement. Je modifie la taille des TextBox en fonction des deux champs date de l'enregistrement.
Pour l'instant ca va ca rend plutot bien. Mais je voudrai créer plus de TextBox et pas en dur.
Du coup j'ai eu l'idée de les créer dynamiquement. J'ai trouvé ce code sur internet qui permet de créer des objets.
Mais quand je l'execute ca me met ce message d'erreur: Method or data member not found
et le fond de Add de la ligne Controls.Add se met en bleu.
Quelqu'un pourrait me dire ce qui ne va pas?
Merci d'avance pour vos réponses.
Cordialement,
Je travaille actuelement sur ma base de données Access 2007 et je voudrai réaliser une petite application.
Je voudrai réaliser un project plan dans un formulaire sur access.
Voila comment je procède pour l'instant:
J'ai créé une liste déroulante où je sélectionne mon projet.
Cette liste déroulante m'ouvre mon formulaire Project plan.
J'ai créé en dur une dizaine de TextBox. Chaque Textbox correspond à un enregistrement. Je modifie la taille des TextBox en fonction des deux champs date de l'enregistrement.
Pour l'instant ca va ca rend plutot bien. Mais je voudrai créer plus de TextBox et pas en dur.
Du coup j'ai eu l'idée de les créer dynamiquement. J'ai trouvé ce code sur internet qui permet de créer des objets.
Dim Ctrl As Control
Set Ctrl = Me.Controls.Add("forms.CheckBox.1")
Mais quand je l'execute ca me met ce message d'erreur: Method or data member not found
et le fond de Add de la ligne Controls.Add se met en bleu.
Quelqu'un pourrait me dire ce qui ne va pas?
Merci d'avance pour vos réponses.
Cordialement,
A voir également:
- VBA Créer des objets dynamiquement
- Site pour vendre des objets d'occasion - Guide
- Créer un lien pour partager des photos - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer un compte gmail - Guide
5 réponses
cela ne fonctionne pas avec le load et le visible ?
boutondecommande(1) est crée
boutondecommande(1) est crée
for i=(2 to 10) ..boutondecommande(i).load:boutondecommande(i).visible=true next i
je viens de voir le tuto et malheureusement ca ne m'a pas avancé plus que ca. J'ai repris le code de l'exemple et j'ai toujours un probleme au niveau du Add.
Quelqu'un aurait deja utiliser ca sur access pour créer des objets dynamiquement?
Merci pour vos réponses futur et merci à toi lermite222
Quelqu'un aurait deja utiliser ca sur access pour créer des objets dynamiquement?
Merci pour vos réponses futur et merci à toi lermite222
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Désolé, je n'ai pas Access et ne peu donc pas tester.
Une autre façon d'ajouter des contrôles en VBA sur ce tuto
Sans garantie.
Intéresse toi aussi aux collections pour gérer les contrôles.
Collection d'objets pour les propriétés
Collection de classe pour les évènements.
Mon avis, les collections devrais fonctionner avec Access (quand tu serras parvenu à créer tes contrôles. :o )
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Une autre façon d'ajouter des contrôles en VBA sur ce tuto
Sans garantie.
Intéresse toi aussi aux collections pour gérer les contrôles.
Collection d'objets pour les propriétés
Collection de classe pour les évènements.
Mon avis, les collections devrais fonctionner avec Access (quand tu serras parvenu à créer tes contrôles. :o )
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.