Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/02/2011, 11h18   #1
Candidat au titre de Membre du Club
 
Farouk Chérif
Inscription : septembre 2010
Messages : 15
Détails du profil
Informations personnelles :
Nom : Farouk Chérif

Informations forums :
Inscription : septembre 2010
Messages : 15
Points : 12
Points : 12
Par défaut problème avec la méthode Add!

Bonjour à tous,
Je veux ajouter un textBox dynamiquement à mon formulaire Access. Voilà le code VBA:
Citation:
Dim tx As TextBox
Set tx = Me.Controls.Add("MSForms.TextBox.1", "MyTextBox", Visible)
tx.Visible = True
à l'exécution, un message d'erreur s'affiche: "Membre de méthode ou de données introuvable".
quelqu'un peux m'aidez?
merci d'avance.
cherifarouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 11h30   #2
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Bonjour,

Ta syntaxe n'est pas la bonne.

Vois un exemple dans la FAQ :

http://access.developpez.com/faq/?pa...reeDynCtrlCode
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 11h39   #3
Candidat au titre de Membre du Club
 
Farouk Chérif
Inscription : septembre 2010
Messages : 15
Détails du profil
Informations personnelles :
Nom : Farouk Chérif

Informations forums :
Inscription : septembre 2010
Messages : 15
Points : 12
Points : 12
Merci pour votre réponse, mais le lien n'est pas fonctionnel.
cherifarouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 11h49   #4
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Que veux-tu dire par là ?

Si moi, je clique sur ce lien, j'atteins cet item de la faq :

"Comment créer dynamiquement un contrôle dans un formulaire et lui associer du code vba sur un événement ?"
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 11h57   #5
Candidat au titre de Membre du Club
 
Farouk Chérif
Inscription : septembre 2010
Messages : 15
Détails du profil
Informations personnelles :
Nom : Farouk Chérif

Informations forums :
Inscription : septembre 2010
Messages : 15
Points : 12
Points : 12
Oui c'est vrai! j'ai un problème de connexion. La FAQ du site n'est pas accessible!
cherifarouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 13h23   #6
Membre du Club
 
Inscription : août 2008
Messages : 86
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 86
Points : 43
Points : 43
Code :
1
2
3
4
5
6
7
8
9
 
 
Dim tx As control
 
Set tx = createcontrol("Nom formulaire", acTextbox, , "", "", [Left], [Top], [width], [Height])
 
'Texte par défaut
 
tx.defaultvalue = "mon texte"
Glherbier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 13h37   #7
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Citation:
Oui c'est vrai! j'ai un problème de connexion. La FAQ du site n'est pas accessible!
Pour compléter le post de Glherbier, voici ce que dit la FAQ :

Comment créer dynamiquement un contrôle dans un formulaire et lui associer du code vba sur un événement ?
auteur : ma_mat
Tout d'abord, il faut ouvrir le formulaire en mode création.
Ensuite pour créer un contrôle par le code il faut utiliser la méthode CreateControl de l'objet Application.
Pour créer une procédure événementielle, il faut utiliser la méthode
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
CreateEventProc de l'objet Module. 
 
Dim ctl As Control
 
'Crée un contrôle "Groupe d'options" :
Set ctl = CreateControl("NomFormulaire", acOptionGroup, , NomPag, , 1200, 3800, 6300, 2700)
With ctl
  'Définit un nom pour le contrôle
  .Name = "Options"
  'Déclare l'événement "Après mise à jour" du contrôle
  .AfterUpdate = "[Event Procedure]"
End With
 
 
'Normalement il ne nous reste plus qu'à écrire la procédure
'événementielle avec Module.CreateEventProc
 
'Mais étant donné que nous avons créé un groupe d'option
'il faut maintenant créer à l'intérieur,
'un contrôle pour chaque option (nous allons pour cela nous servir
'de l'argument "Parent" de la méthode CreateControl).
'Créons par exemple un bouton d'option :
 
Set ctl = CreateControl("NomFormulaire", acOptionButton, , ctl.Name, , 1500, 4000)
With ctl
  .Name = "option1"
  .OptionValue = 1
End With
 
 
'Et maintenant, création du code à exécuter sur AfterUpdate de Options :
 
Dim mdl As Module
Dim lng As Long 'Sert à récupérer le numéro de la ligne d'insertion de la procédure
 
Set mdl = Forms![NomFormulaire].Module
lng = mdl.CreateEventProc("AfterUpdate", "Options")
mdl.InsertLines lng + 1, _
  vbTab & _
  "If(option1.value = 2) then MsgBox " & Chr(34) & "Vous avez choisi 1." & Chr(34)
 
'On libère mémoire allouées aux variables.
Set ctl = Nothing
Set mdl = Nothing
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h14.


 
 
 
 
Partenaires

Hébergement Web