Passage de variables entre 2 sub [Résolu]

Signaler
Messages postés
3
Date d'inscription
lundi 13 décembre 2010
Statut
Membre
Dernière intervention
17 décembre 2010
-
Messages postés
3
Date d'inscription
lundi 13 décembre 2010
Statut
Membre
Dernière intervention
17 décembre 2010
-
Bonjour,
J'aimerai savoir s'il est possible d'utiliser une variable déclarée dans un autre Sub, sans pour avoir à retaper le code en dessous.

Plus clairement, j'ai ceci :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim email As New MailMessage()
        email.From = New MailAddress(TextBox1.Text)
        email.To.Add(TextBox3.Text)
        email.Subject = (TextBox4.Text)
        email.Body = (TextBox5.Text)
    End Sub


Et j'aimerai l'utiliser dans :
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged)
        Dim gmail As New SmtpClient("smtp.gmail.com")
        gmail.Port = 587
        gmail.Credentials = New System.Net.NetworkCredential(TextBox1.Text, TextBox2.Text)
        gmail.EnableSsl = True

Sans avoir besoin de déclarer "email" une nouvelle fois.

Merci.

3 réponses

Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021
155
Bonjour,

Tu as un problème de porté de variable, ta variable est déclarée dans une Sub, donc elle est locale à la sub.
Pour pouvoir étendre sa portée, mets-la par exemple au niveau de la classe :

Private email as MailMessage

Mon site
Messages postés
38
Date d'inscription
jeudi 27 septembre 2007
Statut
Membre
Dernière intervention
25 mars 2014

Il faut la déclarer en Global tout en haut du prog

Option Explicit
Dim email As New MailMessage()

Private Sub Form1_Load.........
..
end sub

Private Sub RadioButton1_CheckedChanged..
...
end sub
Messages postés
3
Date d'inscription
lundi 13 décembre 2010
Statut
Membre
Dernière intervention
17 décembre 2010

Merci pour ces réponses rapides et précises. :)