Comment passer un nom de Form en argument à une fonction

Résolu
JCDussDuss Messages postés 24 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 20 novembre 2008 - 27 mai 2005 à 16:01
cs_tecman Messages postés 63 Date d'inscription mercredi 5 mars 2003 Statut Membre Dernière intervention 29 juin 2005 - 30 mai 2005 à 10:48
Bonjour,

J'ai trouvé un bout de code pour passer un Nom de Form en argument à une fonction, sur le site de Microsoft... Mais quand j'essaye, ca ne marche pas, Pb de syntaxe surement, j'essaye dans tous les sens, il ne veut rien savoir...

Si on prend une fonction TotoText qui ecris Toto ds des textBox du formulaire mentionné :

Sub TotoText(frmCurrent As Form)
Dim ctlCurrent As Control


For Each ctlCurrent In frmCurrent.Controls
If ctlCurrent.ControlType = acTextBox Then
ctlCurrent.Value = "toto"
End If
Next ctlCurrent
End Sub

Si je veux écrire toto dans mon Formulaire qui s'appelle : "FormCréationAbonné" (dans access)

Il apparait comme "Form_FormCréationAbonné" quand on est dans (VBA explorateur projet)

Moi je voulais lui mettre TotoText(CréationAbonné), mais apparament ca marche pas...

Si qq'un a une idée, je veux bien, ca me dépannerai pour la reprise lundi matin, merci

Bon WE

JCDussDuss

3 réponses

cs_tecman Messages postés 63 Date d'inscription mercredi 5 mars 2003 Statut Membre Dernière intervention 29 juin 2005
27 mai 2005 à 18:51
Pour ta méthode TotoText, le paramètre est un objet de type form.

Quand tu utilises l'appel TotoText(CréationAbonné) tu ne lui passe pas un objet de type form.



Il faut donc instancié un objet form et le passer en paramètre dans l'appel de ta méthode.



Exemple :

Dim frm As Form



For Each frm In Application.Forms

If frm.Name = "CréationAbonné" Then Call TotoText(frm)

Next frm



Bon courage
Tecman
3
JCDussDuss Messages postés 24 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 20 novembre 2008
30 mai 2005 à 08:26
Merci beaucoup Tecman, ca marche nikel, ca me dépanne bien.

JCDussDuss
0
cs_tecman Messages postés 63 Date d'inscription mercredi 5 mars 2003 Statut Membre Dernière intervention 29 juin 2005
30 mai 2005 à 10:48
Petite précision en passant.

Vérifie tuojours le type de l'objet a passer en paramètre.

De plus, je te conseillerais d'éviter l'utilisation d'accent espace et
autre signe cabalistique dans le nommage des objets et variables.



@+
Tecman
0
Rejoignez-nous