eval() avec des variables - VB/VBA/VBS - Programmation
Marsh Posté le 13-07-2007 à 11:44:16
j'ai une solution mais j'ai besoin d'avoir votre avis.
function larg() as string |
je voudrais donc savoir si ca va etre stable une fois en production ce truc ?
Marsh Posté le 13-07-2007 à 13:41:29
« (mais dans excel ca serait le meme pb je pense) »
Raté, Eval est une fonction spécifique à MS Access et n'est pas accessible dans Excel (pas directement en tout cas sans faire appel à des bibliothèques dédiées).
Sinon, Eval ne sait pas interpréter les variables locales et globales contenues dans son paramètre (pas comme en php).
Il faut donc jouer avec les concaténations :
Dim larg As Long
Dim sLarg as String
larg = 100
sLarg = Cstr(larg)
debug.print Eval(sLarg & "+1" )
Voir l'aide en ligne...
Marsh Posté le 13-07-2007 à 15:40:35
Reply
Marsh Posté le 13-07-2007 à 11:21:19
Hello à tous
je fais du vba access, (mais dans excel ca serait le meme pb je pense)
je recupere dans une table une formule mathématique, du genre "larg + 10"
et je souhaite pouvoir executer un code de ce genre :
dim larg as integer
dim formule as string
formule = "larg + 10 " ' c'est une requete sql qui recupere larg + 10 --
larg = 100
msgbox (eval(formule))
et je souhaite que ca machine 110 , mais ca marche pas. j'obtient cette erreur : "impossible de trouver le nom 'larg' entré dans l'expression
des idées ?
merci
Message édité par PierreC le 13-07-2007 à 11:21:36