cs_dan24
Messages postés39Date d'inscriptionlundi 9 février 2004StatutMembreDernière intervention15 avril 2005
-
14 avril 2005 à 12:52
RM_Rilke
Messages postés1Date d'inscriptionvendredi 24 juin 2005StatutMembreDernière intervention30 juin 2005
-
30 juin 2005 à 11:09
Bonjour,
Je fais comme ceci pour appeler la procédure paramétrée (en mettant directement le nom de la Form en paramètre):
cs_dan24
Messages postés39Date d'inscriptionlundi 9 février 2004StatutMembreDernière intervention15 avril 2005 14 avril 2005 à 14:54
Merci d'avoir répondu aussi vite mais j'ai du mal à comprendre ton conseil.
mdlProceduresPubliques est un module (pas un module de classe), que j'appelle dans le code d'une form frmProduit, et OuvrirFournisseurs une procédure paramétrée de ce module, qui reçoit le nom de la form concernée (ici frmProduit) en paramètre.
Vu que je veux utiliser la procédure OuvrirFournisseurs au niveau de différentes forms, je voudrais passer le nom de la form concernée en paramètre.
Tu me dis d'enlever OuvrirFournisseurs??? Je ne comprend pas tout là??
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 15 avril 2005 à 07:04
Ben voici un code simple qui marche très bien chez moi :
Créer une feuille nommée Form1
Créer un module.
Dans Form1 :
Private Sub Form_Click()
Call ModifyTitle(Me)
End Sub
Dans le module :
Public Sub ModifyTitle(ByRef oForm As Form)
Let oForm.Caption = "Salut !"
End Sub
A l'éxécution du programme, lorsque tu clique sur la feuille, le
caption de celle-ci est automatiquement modifié, donc la référence à la
feuille est bien passée !
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
RM_Rilke
Messages postés1Date d'inscriptionvendredi 24 juin 2005StatutMembreDernière intervention30 juin 2005 30 juin 2005 à 11:09
Salut dan24,
je reviens sur ta question et sur le code proposé par Darsidious.
Si tu n'as pas depuis ce temps trouvé la bonne syntaxe :
1°) tu es bien sous VB.Net (et pas VB6), donc un conseil prend des noms d'objets simples. Tes noms de procédures sont vraiment longs.
2°) pas nécessaire d'utiliser Let (Visual Studio l'enlève de force), ni "caption" . Sous VB.Net , c'est plutôt la propriété Text qui a remplacé tout ça.
3°) le code de Darsidious est présenté rapidement, je vais préciser ça plus lentement car moi aussi je débute sous .NET :
1- tu créé un nouveau projet de type Windows form = d'emblée, VS te génère ta form1 (que tu renomme comme tu veux à condition de répercuter ça partout là où il faut),
2 tu créé un module, précision : à coté de ta form1 et pas dedans. En fait, dans l'explorateur de solution tu vas à la 2ème ligne en haut et tu click_droit dessus (c'est le nom de ton projet) pour ouvrir le menu contextuel : tu vas à la 3ème ligne "Ajouter" puis tu choisis "ajouter un module". Automatiquement tu te retrouves dans l'éditeur sur l'endroit de ton futur code pour ce module, là tu écris donc :
Public
Sub ModifyTitle(
ByRef oForm
As Form)
oForm.Text = "Salut"
End
Sub
Mais si tu essayes avec ByVal au lieu de ByRef ça marche aussi bien. Dans le code lié à Form1, tu appelles le sub sans même mettre call devant.
C'est simple et à partir de ce code tu avances pas à pas vers ton pb propre.
A+