cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 5 févr. 2006 à 20:55
Salut
Parce que :
- si tu n'as qu'une forme, un Private suffit
- si tu as plusieurs formes et/ou modules, il faut mettre ta déclaration Public dans un Module pour qu'il soit commun à tout le projet.
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 6 févr. 2006 à 02:01
Pour une question de "sécrité" et surtout de clareté je présume!!!
En effet, une variable déclarée dans le main (pour reprendre tes termes) d'un module Objet (Module de Form ou Module de Class) est partagée par toutes les procédures in-module. Donc, mettre "Public" à ces variables sous-tends qu'il y a d'autres modules et que tu veux qu'ils puissent utiliser ses variables. Or, ces autres modules objets sont sur le même "niveau".
Autrement dit, c'est un peu comme si tu déclarais une variable comme étant public au seins d'une procédure afin que les autres procédures (de même niveau, donc!) puissent y accéder. Ce serait bien... mais totalement, pardonne moi l'expression, "merdique" :
Sub procUN()
PUBLIC varUN
varDEUX = 1
End Sub
Sub procDEUX()
PUBLIC varDeux
varUN = 0
End Sub
Va-t-y retrouvé après, dans un tel code!!!
Ben c'est le même problème "entre" les modules Objets.
Donc, la question est : mais qu'y-a-t-il "au-dessus" des modules Objets, dans un programme VB, qui puisse faire partager
des variables
aux différents modules Objet ???
Ben les Modules de Code !!! Tout simplement
Autrement dit, ce genre de variables ne peuvent être déclarées (enfin, si je dis pas de conneries [tu me corrige Jack hein!]) que dans des "module de code". Module de code à ajouter à ton projet (via le menu et/ou la palette portant le même nom).
Ais-je été clair ???
Enjoy
<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
chicochiri
Messages postés66Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention29 décembre 2018 6 févr. 2006 à 11:25
bon la variable declarée dans le main en "private" semble fonctionner...merci Jack
Pour la remarque de ScSami, je ne vois pas ou est le probleme d'utiliser une variable dans differentes procedures d'un meme niveau, moi il y a des tas de fois ou j'en ai besoin....peut etre g pas bien expliqué mon probleme