Partage de tableau dans une Form [Résolu]

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

Votre réponse

8 réponses

Meilleure réponse
Kristof_Koder
Messages postés
920
Date d'inscription
vendredi 3 août 2007
Dernière intervention
27 octobre 2008
- 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é 86 internautes ce mois-ci

Commenter la réponse de Kristof_Koder
Charles Racaud
Messages postés
3181
Date d'inscription
dimanche 15 février 2004
Dernière intervention
9 avril 2017
- 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
Messages postés
3181
Date d'inscription
dimanche 15 février 2004
Dernière intervention
9 avril 2017
- 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
Messages postés
181
Date d'inscription
jeudi 30 mai 2002
Dernière intervention
19 août 2012
- 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
Messages postés
3
Date d'inscription
jeudi 5 octobre 2006
Dernière intervention
10 février 2009
- 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
Messages postés
920
Date d'inscription
vendredi 3 août 2007
Dernière intervention
27 octobre 2008
- 21 févr. 2008 à 11:17
0
Merci
Pourquoi ca ?
Commenter la réponse de Kristof_Koder
themuton
Messages postés
3
Date d'inscription
jeudi 5 octobre 2006
Dernière intervention
10 février 2009
- 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
Messages postés
181
Date d'inscription
jeudi 30 mai 2002
Dernière intervention
19 août 2012
- 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.