Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1384 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] utiliser une variable dont le nom est dans une variable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA] utiliser une variable dont le nom est dans une variable

n°1261113
belgarion
Emporté par le Nexus
Posté le 07-12-2005 à 16:17:21  profilanswer
 

Je vais essayé d'exposer clairement mon probléme.
 
j'ai une varaible que nous appeleront toto de type string
la valeur de cette variable est le nom d une autre variable et je veux acceder a cette autre variable.
 
prenons un exemple :
 

Code :
  1. function test(parametre)
  2. dim toto as string
  3. if parametre = 1 then toto = "test1" else toto = "test2"
  4. ?????? = 1


a la place de mes ? je voudrais arriver a mettre quelque chose pour que cela soit test1 quand parametre est a 1 et test2 quand parametre = 2
 
en PHP j'aurais écrit (si mes souvenir sont bon) $$toto = 1
 
comment je fait en VBA pour access 2000 ? [:sisicaivrai]

mood
Publicité
Posté le 07-12-2005 à 16:17:21  profilanswer
 

n°1261121
watashi
La démotivation : JAMAIS !
Posté le 07-12-2005 à 16:22:07  profilanswer
 

Salut belgarion,
 
Je ne connais pas les macros sous access mais je pense que le système des variables doit fonctioner pareil.
 
Je pense à un truc du type :
toto= "test" & parametre
 
regarde si ça arrive à le reconnaitre... Tout dépend de l'utilisation de toto ensuite :)
 
bon courage

n°1261194
belgarion
Emporté par le Nexus
Posté le 07-12-2005 à 17:42:59  profilanswer
 

le but du jeux c'est que dans test1 ou test2 on puisse mettre ce que l on veux (1 dans mon exemple)
 
ca serait plus un

Code :
  1. "test" & parametre = 1


qu'il me faudrait mais je doute mechament que ca marche
 
mais la j ai pris test1 et test2 c'est pour l exemple ca sera des string completement different et pas un test avec un numero

n°1261240
watashi
La démotivation : JAMAIS !
Posté le 07-12-2005 à 19:00:42  profilanswer
 

Décidement j'ai pas compris...
 
ton exemple ne me parles pas en l'état.
Explique moi :)
1- parametre est-il numérique ou pas? Combien de valeur sont possible ?
2- toto vient de parametre : a priori du texte special genre ça pourait être "isabelle" ou "victor"
ensuite tu veux pouvoir avoir des valeurs en fonction de toto&parametre
du type victor1=123, isabelle2="plouf"... ?
C'est ça ? ou je suis à côté de la plaque ?


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
n°1261613
belgarion
Emporté par le Nexus
Posté le 08-12-2005 à 12:21:52  profilanswer
 

on va faire simple je vais copier mon code qui fait ce que je veux

Code :
  1. Public Pays As String
  2. Public representant As String
  3. Function GenereRequete(typeChamp As String, valeurChamp As String) As String
  4. ' On met à jour les variables globals
  5. If typeChamp = "pays" Then Pays = valeurChamp
  6. If typeChamp = "representant" Then representant = valeurChamp
  7. End Function


 
voila cette fonction fait ce que je veux
mais pour l instant j ai 2 typechamp et je vais en avoir plus que ca
et je ne veux pas retoucher a ma fonction a chaque fois que j en ajoute un
sans parler que niveau perferormance ce que je cherche a faire et beaucoup plus performant normalement
 
je sais on peux mettre un case mais ca ne change pas le probleme

Message cité 1 fois
Message édité par belgarion le 08-12-2005 à 12:22:19
n°1261681
watashi
La démotivation : JAMAIS !
Posté le 08-12-2005 à 14:00:35  profilanswer
 

Ok je vois ce que tu veux faire, malheureusement je n'ai aucune idée de comment faire; avec le problème définicomme ça quelqu'un d'autre pourra peut-être t'aider.
 
Bon courage

n°1265534
dlaumor
Posté le 13-12-2005 à 14:33:57  profilanswer
 

belgarion a écrit :

on va faire simple je vais copier mon code qui fait ce que je veux

Code :
  1. Public Pays As String
  2. Public representant As String
  3. Function GenereRequete(typeChamp As String, valeurChamp As String) As String
  4. ' On met à jour les variables globals
  5. If typeChamp = "pays" Then Pays = valeurChamp
  6. If typeChamp = "representant" Then representant = valeurChamp
  7. End Function


 
voila cette fonction fait ce que je veux
mais pour l instant j ai 2 typechamp et je vais en avoir plus que ca
et je ne veux pas retoucher a ma fonction a chaque fois que j en ajoute un
sans parler que niveau perferormance ce que je cherche a faire et beaucoup plus performant normalement
 
je sais on peux mettre un case mais ca ne change pas le probleme


 
 
 
Bonjour,
 
Je ne sais pas trop comment tu comptes utiliser tes variables ensuite, mais j'essairai de rester générique avec 2 variables quelques soit ton nombre de champs
 
Avoir une variable "typeChamp" et une "valeurChamp" que t'utilises toujours en couple après.
 
La variable valeurChamp n'allant jamais sans typeChamp.
Dans ton exemple j'ai l'impresssion que tu souhaites te "débarasser" de la variable typeChamp, pour n'avoir ensuite qu'une variable...
 
Voila mon avis, je ne sais pas si je suis clair...
bon courage


Message édité par dlaumor le 13-12-2005 à 14:34:39
n°1265571
belgarion
Emporté par le Nexus
Posté le 13-12-2005 à 15:03:14  profilanswer
 

ce que je voulais arriver a faire c'était condensé mon code source et rendre l execution de mon programe plus rapide
 
mais bon vu la complexité a mettre en oeuvre en VBA (quand je vois la simplicité à faire en php je me dit vive microsoft) j'ai abandonné l'idée


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] utiliser une variable dont le nom est dans une variable

 

Sujets relatifs
[VBA Excel] Bloquer les barres de défilement à la fin d'un tableauExtraction d'une suite de chiffres variables d'un chaine variable
récupérer une variable VBSCRIPT dans une page ASPEcriture de formule via VBA
Fermer Acrobat reader automatiquement [VBA]PHP Récupération d'une variable de l'URL
Aide sur Projet VBA ExcelCombobox ajouter des valeurs [VBA ACCESS]
Récupérer la première lettre d'une variable en batch?Clef de registre... variable... grrrr
Plus de sujets relatifs à : [VBA] utiliser une variable dont le nom est dans une variable


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR