Variable tableau [Résolu]

Signaler
Messages postés
66
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
29 décembre 2018
-
Messages postés
66
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
29 décembre 2018
-
pourquoi je peux pas declarer une variable tableau public dans le main d'une form?ex: option explicit
public MaVariableTableau (1 to 5) as string

merci

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
68
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)
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 105 internautes nous ont dit merci ce mois-ci

Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
22
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". )
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
48
Salut,

De toute façon comment est ce possible de declarer une variable publique dans une sub ou fonction, VB en voudra jamais ... (VB 6 du moins)

@+
Julien
Messages postés
66
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
29 décembre 2018

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

Mais en tout cas je te remercie de m'avoir aidé

Chicochiri