Partage de tableau dans une Form [Résolu]

cs_titicar 181 Messages postés jeudi 30 mai 2002Date d'inscription 19 août 2012 Dernière intervention - 7 nov. 2007 à 20:11 - Dernière réponse : cs_titicar 181 Messages postés jeudi 30 mai 2002Date d'inscription 19 août 2012 Dernière intervention
- 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
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Kristof_Koder 920 Messages postés vendredi 3 août 2007Date d'inscription 27 octobre 2008 Dernière intervention - 7 nov. 2007 à 21:16
3
Merci
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

Merci Kristof_Koder 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 84 internautes ce mois-ci

Commenter la réponse de Kristof_Koder
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 7 nov. 2007 à 20:55
0
Merci
Salut,

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

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

__________
Kenji
(
Nouveau forum VBA/Office
Commenter la réponse de Charles Racaud
cs_titicar 181 Messages postés jeudi 30 mai 2002Date d'inscription 19 août 2012 Dernière intervention - 8 nov. 2007 à 18:03
0
Merci
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
Commenter la réponse de cs_titicar
themuton 3 Messages postés jeudi 5 octobre 2006Date d'inscription 10 février 2009 Dernière intervention - 21 févr. 2008 à 11:05
0
Merci
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.
Commenter la réponse de themuton
Kristof_Koder 920 Messages postés vendredi 3 août 2007Date d'inscription 27 octobre 2008 Dernière intervention - 21 févr. 2008 à 11:17
0
Merci
Pourquoi ca ?
Commenter la réponse de Kristof_Koder
themuton 3 Messages postés jeudi 5 octobre 2006Date d'inscription 10 février 2009 Dernière intervention - 21 févr. 2008 à 11:35
0
Merci
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.
Commenter la réponse de themuton
cs_titicar 181 Messages postés jeudi 30 mai 2002Date d'inscription 19 août 2012 Dernière intervention - 6 juil. 2008 à 23:36
0
Merci
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
Commenter la réponse de cs_titicar

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.