Variable tableau

Résolu
chicochiri Messages postés 66 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 29 décembre 2018 - 5 févr. 2006 à 20:16
chicochiri Messages postés 66 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 29 décembre 2018 - 6 févr. 2006 à 11:25
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

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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)
3
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
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". )
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
6 févr. 2006 à 08:43
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
0
chicochiri Messages postés 66 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 29 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

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

Chicochiri
0
Rejoignez-nous