begin process at 2010 02 10 05:47:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Modules

 > 

comment faire passer un nom de variable à un module afin d'utiliser ensuite les valeurs de cette variable


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comment faire passer un nom de variable à un module afin d'utiliser ensuite les valeurs de cette variable

jeudi 16 juin 2005 à 11:54:37 | comment faire passer un nom de variable à un module afin d'utiliser ensuite les valeurs de cette variable

zifnig

 J'aimerais mutualiser une fonction d'affichage dans une textbox pour plusieurs tableaux contenant du texte.

Du genre :

dim variable() as string

public affichage (varible as string)

for i=1to n
tetxbox.text= tetxbox.text+ variable(i)
next i

end sub


Sachant, que variable doit pouvoir correspondre à plusieurs tableaux.

Zifnig
http://zifnig.free.fr
jeudi 16 juin 2005 à 12:08:21 | Re : comment faire passer un nom de variable à un module afin d'utiliser ensuite les valeurs de cette variable

liquide

Membre Club
salut,
Ta procédure doit deja comprendre un "SUB"
Dans ta procédure, "Varible" correspond à quoi, et doit être intégré ou ?
Dans ta procédure, "n correspond à quoi, et comment la récupères tu ?
Dans tout ça, je ne vois qu'un seul tableau : dim variable() as string, ou sont les autres ?

Bonne prog, liquide_vaisselle_76@hotmail.fr
liquide (Membre "Liquide-Fundation" -- tout ce qui peut etre bu est interdit -- les alcolo sont mals  , moi le 1er&n
jeudi 16 juin 2005 à 12:21:55 | Re : comment faire passer un nom de variable à un module afin d'utiliser ensuite les valeurs de cette variable

CanisLupus

Membre Club Administrateur CodeS-SourceS

Salut,

Si tu prog en vb6, tu peux essayer ça :

Private Sub Form_Load()
Dim variable(1) As String
  variable(1) = "coucou"
  Affichage variable
End Sub

Sub Affichage(ByVal v As Variant)
  MsgBox v(1)
End Sub

Le non-type variant n'est pas trop recommandé mais dans ce cas on ne peux faire autrement en vb6.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup  !?

jeudi 16 juin 2005 à 13:59:29 | Re : comment faire passer un nom de variable à un module afin d'utiliser ensuite les valeurs de cette variable

zifnig

Je vois que je n'ai pas été assez clair :

mettons que je crée 3 tableaux : tab1(), tab2(), tab3() ayant cahacun 1000 enregistrements.

Je voudrais pouvoir, dans ma fonction affichage, afficher soit les enregistrements de tab1, de tab2 ou tab3 en passant comme paramètre le tableau à afficher, sans avoir à recopier 3 fois le même code (à la vaiable tabx près) conditionnés par des IF.

Sub Affichage(ByVal nom_tableau As Variant)
 for i = 1 to 1000
  textbox.text = textbox.text + nom_tableau(i)
'nom_tableau prenant les valeurs tab1, tab2 ou tab3
End Sub

Merci, déjà pour ces premières réponses.

Zifnig
http://zifnig.free.fr
jeudi 16 juin 2005 à 14:11:38 | Re : comment faire passer un nom de variable à un module afin d'utiliser ensuite les valeurs de cette variable

dragon

eh, il y a une erreur dans le passage de paramètre

dim variable() as string

public sub affichage (variable() as string)

for i=0 to ubound(variable)
tetxbox.text= tetxbox.text+ variable(i)
next i

end sub

-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------

jeudi 16 juin 2005 à 14:19:36 | Re : comment faire passer un nom de variable à un module afin d'utiliser ensuite les valeurs de cette variable

CanisLupus

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Je ne vois pas où est le problème, nom_tableau sera le tableau que tu passeras.

Quand tu veux afficher tab1 --> affichage tab1
Quand tu veux afficher tab2 --> affichage tab2

etc...

Je te conseille quand même de vider la textbox avant si tu ne veux pas cumuler tout tes tableaux.

Sub Affichage(ByVal nom_tableau As Variant)
   textbox.text=""
 for i = 1 to 1000
  textbox.text = textbox.text + nom_tableau(i)
'nom_tableau prenant les valeurs tab1, tab2 ou tab3
End Sub


Reste aussi la taille max d'une textbox, pourra-t-elle contenir tout ton tableau ?

-------------------------------------------------
Dresseur de puces, .... normal pour un loup  !?
jeudi 16 juin 2005 à 14:23:16 | Re : comment faire passer un nom de variable à un module afin d'utiliser ensuite les valeurs de cette variable

zifnig

Non, c'est pas comme ça qu'il faut le voir, je voudrais quelque chose du genre :

Sub Affichage(ByVal nom_tableau As Variant)
 for i = 1 to 1000
  textbox.text = textbox.text + cstr(nom_tableau)(i) 
'ceci donne une erreur de syntaxe, mais j'aimeais que cette ligne se transforme en textbox.text = textbox.text + tab1(i), car dans cet exemple nom_tableau serait égal à "tab1"
end sub

Aurait-on la possibilité de passer le pointeur du tableau choisi en variable? autre idée?

Zifnig
http://zifnig.free.fr
jeudi 16 juin 2005 à 14:23:55 | Re : comment faire passer un nom de variable à un module afin d'utiliser ensuite les valeurs de cette variable

madbob

Qui ce conçoit clairement s'ennonce aisement....Hum
c'est pas encore clair

Un tableau c'est quoi ?... un pointeur non ?
Donc tu as besoin en fait de connaître l'adresse et non le nom !!!

Déclarer
Dim Montab1() as integer revient à créer une structure d'entier dont l'adresse est le premier élément

Ecrire "Montab"&1 ne revient pas à ça
L'adresse de la chaine ne te donnera pas l'adresse de ton tableau Montab1... donc marche pas.

A toi de gérer l'alimentation de ton text box et en fonction des cas, de passer soit  le tab1, soit le 2 ou le 3
A+
madbob
jeudi 16 juin 2005 à 14:34:41 | Re : comment faire passer un nom de variable à un module afin d'utiliser ensuite les valeurs de cette variable

zifnig

Merci canislupus, je ne pensait pas que cela était si simple...honte à moi!


Zifnig
http://zifnig.free.fr
jeudi 16 juin 2005 à 14:42:19 | Re : comment faire passer un nom de variable à un module afin d'utiliser ensuite les valeurs de cette variable

CanisLupus

Membre Club Administrateur CodeS-SourceS
Dragon, tu as raison si les tableaux passés en paramètre sont tous de type string, sinon, je crains que le variant soit inévitable.

Zfnig, je ne comprend toujours pas car nom_tableau représentera le tableau que tu passes en paramètre à Affichage.

Si tu codes ,dans un bouton par exemple :
Affichage tab1
nom_tableau de ta sub sera tab1.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup  !?

1 2

Cette discussion est classée dans : variable, module, utiliser, valeurs, passer


Répondre à ce message

Sujets en rapport avec ce message

Utiliser une variable numérique pour mémoriser des valeurs [ par PROGRAMMIX ] Bonjour,J'avais vu dans un code-source (dont j'ai perdu la trace), qu'une personne mémorisait des valeurs dans une variable numérique et j'aimerais en Les modules .bas [ par jytest ] Bonsoir, bonjour,A l'aide.Je suis novice en visual basic...Je n'ai jamais utiliser les modules...Ceci est une grande nouveauté pour moi !J'ai consulté Incrémenter une variable [ par Sevoli ] Bonsoir,Je travaille sous Access 2003 et j'importe des données XML d'un fichier via VBA.Certains noeuds XML ont x valeurs séparées par une virgule aus Comment passer un argument de type variable dans une procédure vba access 2003 [ par dkpseudo ] Bonjour,Dans le code qui suit, j'appelle la fonction InitialiserSelection en passant 6 arguments.J'obtiens le message "Erreur d'exécution 3061".Le pb ACCESS VBA - Affecter le nom de la procédure en cours dans une variable [ par JM247L ] Bonjour,Pour la mise en forme d'une gestion d'erreur dans une application Access, je souhaiterai pouvoir récupérer dans une variable le nom de la proc Faire référence à une variable [ par pingouin84k ] Bonjour, Je n'arrive pas à faire un truc tout simple... J'utilise probablement pas le bon vocabulaire dans mes recherches. J'ai des valeurs stockées PASSER UNE VARIABLE EN CHAMP DANS UNE TABLE tb![variable] [ par STEFSION ] Bonjour,je suis novice en programmation et je souhaite pouvoir passer une variable en champ dans une table access.Voilà ce que j'ai écrit :    Select utiliser une methode dont le nom se trouve dans une variable [ par freedom73 ] Bonjourje recherche comment pourvoir utiliser une variable (et accessoirement une procedure) dont son nom se trouve dans une chaine de caractere.je m' Syntaxe sql pour passer le nom d'une table depuis une variable [ par odammas ] Bonjour, J'ai un petit soucis avec la requete ci dessous, je voudrais passer le nom de la table via une variable ( dans l'exemple a) car cela peut c Passer une variable dans une requête VB5 [ par RovDan ] Bonjour,Je dispose d'une textbox qui contient une date format jj/mm/aaaaJe souhaiterai passer cette date en variable pour une requete pour un controle


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales