VB.NET Portée de Variable
Résolu
Bonjour,
je suis sur un projet d'application WindowsForms où j'ai besoin de variables de portée publique.
Voici un apperçu du code de la première Form du l'appli :
Je pensais que déclarer une variable ainsi serait suffisant mais dès que je passe à un autre form, la variable Argent est identifiée comme non déclarée.
J'ai manqué quelque chose ? Je suis plutôt VBA (Excel et Access) à l'origine donc je suis peut-être passé à côté d'une subtilité du VB.NET ?
je suis sur un projet d'application WindowsForms où j'ai besoin de variables de portée publique.
Voici un apperçu du code de la première Form du l'appli :
Option Explicit On
Public Class Ouverture
Public Argent As Integer
+ Private Sub NouvPart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NouvPart.Click
+ Private Sub Présentation_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Présentation.Click
+ Private Sub Charger_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Charger.Click
+ Private Sub Crédits_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Crédits.Click
+ Private Sub Quitter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Quitter.Click
End Class
Je pensais que déclarer une variable ainsi serait suffisant mais dès que je passe à un autre form, la variable Argent est identifiée comme non déclarée.
J'ai manqué quelque chose ? Je suis plutôt VBA (Excel et Access) à l'origine donc je suis peut-être passé à côté d'une subtilité du VB.NET ?
3 réponses
-
ContributeurBonjour,
Pour qu'une variable soit "tout à fait " public tu doit la déclarer dans un module.
Projet >> Ajouter une classe >> Module.
Mais tu m'étonne, en VBA c'est exactement la même chose.
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. -
Salut Lermite,
j'ai pensé à cette histoire de module, mais je me suis rendu compte que si un projet vba ne peut démarrer que sur un module (module : thisworkbook, au mieux) et qu'une appli en WindowsForm que sur un form.
J'ai donc pensé qu'il devait y avoir une différence là aussi pour les variables à déclarer en public.
Donc d'après ce que tu me dis, si j'ai des variables publiques à déclarer au lancement de l'appli, il faudrait que dans mon Sub FormDémarrage_Load j'appelle un module de mon cru qui déclarerait toutes mes variables publiques ?
Merci pour tes lumières. J'essaye ça et je te tiens au jus. -
ContributeurTu confond (en VBA) module de feuille et MODULE.BAS qui sont des modules qui n'ont rien à voir avec des feuilles (en VBA) ou des Forms (en VB.net ou 6)
Le 1er que tu ajoute se nomme toujours Module1.bas en VBA et .vb en VB.Net