Partage de tableau dans une Form

Résolu
cs_titicar
Messages postés
181
Date d'inscription
jeudi 30 mai 2002
Statut
Membre
Dernière intervention
19 août 2012
- 7 nov. 2007 à 20:11
cs_titicar
Messages postés
181
Date d'inscription
jeudi 30 mai 2002
Statut
Membre
Dernière intervention
19 août 2012
- 6 juil. 2008 à 23:36
Bonjour,

J'ai un soucis de 'partage' de variable. En effet, je voudrais placer une déclaration du genre 'Public Tableau() As Byte', mais dans une Form. Ce qui est impossible. Je veux que ce tableau soit partagé car je dois le modifier par une procédure d'un autre module.
Je ne peux pas non plus le déclarer en Global dans un module car il doit être associé à la Form, et cette dernière sera instanciée sans doute plusieurs fois dans la même 'session' de mon programme.

Quelqu'un aurait-il une idée?

titicar

8 réponses

Kristof_Koder
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
7 nov. 2007 à 21:16
Charles Racaud < Ca, il faudra que tu poses la question aux développeurs de VB6 ! Il est impossible de mettre un tableau, un declare, un type en tant que membre public dans un module objet (=form + class) !

titicar < tu peux contourner cette limitation de VB6 en déclarant ton tableau en Private dans ta form et en ajoutant une propriété (en Get et en Set si besoin) pour accéder aux items de ton tableau:

Private Tableau() As Byte

Public Property Get Item(ByVal Idx As Long) As Byte
Item = Tableau(Idx)
End Property

Public Property Let Item(ByVal Idx As Long, ByVal Value As Byte)
Tableau(Idx) = Value
End Property

Et tu utilises comme ceci :

Form1.Item(1) = 10
MsgBox Form1.Item(1)

A noter qu'il faudra ajouter des protection dans les property Get/Set au cas ou l'Idx serait en dehors de la plage du tableau
3
Charles Racaud
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
7 nov. 2007 à 20:55
Salut,

Pourquoi est-il impossible de déclarer en public un tableau dans une form ?
TaForm.TonTableau(id)...

__________
Kenji
(
Nouveau forum VBA/Office
0
Charles Racaud
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
7 nov. 2007 à 21:27
Kristof, (salut), en effet, il nous jette au moment de l'exécution.
L'habitude du dotnet

__________
Kenji
(
Nouveau forum VBA/Office
0
cs_titicar
Messages postés
181
Date d'inscription
jeudi 30 mai 2002
Statut
Membre
Dernière intervention
19 août 2012

8 nov. 2007 à 18:03
Bien vu Kristof !
C'est tout bête et je n'y avais même pas pensé !
... Y a des fois où l'on ne voit pas la plus simple évidence...

Merci !

titicar
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
themuton
Messages postés
3
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
10 février 2009

21 févr. 2008 à 11:05
Bonjour,
Ma question est la meme que titicar a une difference pres : je voudrais que mon tableau soit redimensionnable par un Redim Preserve... or ceci m'empeche d'utiliser ta methode Kristof...

Quelqu'un aurait-il une methode de contournement svp ?

Merci d'avance !

Dans la vie il y a 3 types de personnes : celles qui savent compter, et celles qui ne savent pas.
0
Kristof_Koder
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
21 févr. 2008 à 11:17
Pourquoi ca ?
0
themuton
Messages postés
3
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
10 février 2009

21 févr. 2008 à 11:35
Merci j'ai contourne en mettant betement mes array dans un module a part...
J'obtenais un message d'erreur a cause des Redim...

Bonne journee !

Dans la vie il y a 3 types de personnes : celles qui savent compter, et celles qui ne savent pas.
0
cs_titicar
Messages postés
181
Date d'inscription
jeudi 30 mai 2002
Statut
Membre
Dernière intervention
19 août 2012

6 juil. 2008 à 23:36
themuton : Je retombe ici par hasard. C'est vrai que les Redim ne fonctionnent pas. Faut que je regarde ton 'bettement array'... que je n'utilise pas.
Au fait, tu n'as pas mentionné le 3ème type de personne :-)

titicar
0