[vba] ? convertir une chaine txt concaténée en nom de variable
2 réponses
chris
Bonsoir à tous,
dans l'exemple suivant comment écrire "Var" & " Bb"
pour que cette concatenation soit reconnue comme une variable ?
Sub essai_1()
'.......
VarAa = 2: VarBb = 3
VarTot = VarAa + Val("Var" & "Bb") ' ici la valeur de VarBb n'est pas
prise en compte
MsgBox VarTot
'........
End Sub
--
Ne pas utiliser la fonction: "Répondre à l'expéditeur"
L'adresse a été volontairement modifiée (spam)
écrire à: cchris.col@free.fr avec un seul 'c' au début
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Geo
Bonsoir à tous,
dans l'exemple suivant comment écrire "Var" & " Bb" pour que cette concatenation soit reconnue comme une variable ?
Sub essai_1() '....... VarAa = 2: VarBb = 3 VarTot = VarAa + Val("Var" & "Bb") ' ici la valeur de VarBb n'est pas prise en compte MsgBox VarTot '........ End Sub
C'est marrant ton truc, tu as du mal lire l'aide : Extrait : Dans l'exemple suivant, la fonction renvoie la valeur 161517 : Val(" 1615 17e siècle")
donc : Val("Var" & "Bb") = 0 puisqu'il n'y a pas de chiffres
la réponse à ta question : amha on ne peut pas le faire simplement, vba n'est pas un macro générateur, mais on peut modifier du texte de macro par macro , qqch du genre : NormalTemplate.VBProject.VBComponents("MonModule").CodeModule.DeleteLines StartLine: NormalTemplate.VBProject.VBComponents("MonModule").CodeModule.InsertLines Line:, String:=LeNouveauTexte La mise au point ne doit pas être facile facile, car on voit un autre code que celui qui s'exécute. Jamais essayé, perturbations neuronales assurées.
-- A+
Bonsoir à tous,
dans l'exemple suivant comment écrire "Var" & " Bb"
pour que cette concatenation soit reconnue comme une variable ?
Sub essai_1()
'.......
VarAa = 2: VarBb = 3
VarTot = VarAa + Val("Var" & "Bb") ' ici la valeur de VarBb n'est pas prise en
compte
MsgBox VarTot
'........
End Sub
C'est marrant ton truc, tu as du mal lire l'aide :
Extrait :
Dans l'exemple suivant, la fonction renvoie la valeur 161517 :
Val(" 1615 17e siècle")
donc : Val("Var" & "Bb") = 0 puisqu'il n'y a pas de chiffres
la réponse à ta question : amha on ne peut pas le faire simplement, vba
n'est pas un macro générateur,
mais on peut modifier du texte de macro par macro ,
qqch du genre :
NormalTemplate.VBProject.VBComponents("MonModule").CodeModule.DeleteLines
StartLine:
NormalTemplate.VBProject.VBComponents("MonModule").CodeModule.InsertLines
Line:, String:=LeNouveauTexte
La mise au point ne doit pas être facile facile,
car on voit un autre code que celui qui s'exécute.
Jamais essayé, perturbations neuronales assurées.
dans l'exemple suivant comment écrire "Var" & " Bb" pour que cette concatenation soit reconnue comme une variable ?
Sub essai_1() '....... VarAa = 2: VarBb = 3 VarTot = VarAa + Val("Var" & "Bb") ' ici la valeur de VarBb n'est pas prise en compte MsgBox VarTot '........ End Sub
C'est marrant ton truc, tu as du mal lire l'aide : Extrait : Dans l'exemple suivant, la fonction renvoie la valeur 161517 : Val(" 1615 17e siècle")
donc : Val("Var" & "Bb") = 0 puisqu'il n'y a pas de chiffres
la réponse à ta question : amha on ne peut pas le faire simplement, vba n'est pas un macro générateur, mais on peut modifier du texte de macro par macro , qqch du genre : NormalTemplate.VBProject.VBComponents("MonModule").CodeModule.DeleteLines StartLine: NormalTemplate.VBProject.VBComponents("MonModule").CodeModule.InsertLines Line:, String:=LeNouveauTexte La mise au point ne doit pas être facile facile, car on voit un autre code que celui qui s'exécute. Jamais essayé, perturbations neuronales assurées.
-- A+
lapointe
Bonjour
Essaies de te pencher sur Eval(). Dans le cas ou tu lui passes une fonction, elle évalue le résultat. Ton pb est que tu souhaites référencer une variable en indirect. Jettes un oeil si ca peut solutionner ton problème.
Sub test() Dim I As Integer For I = 1 To 10 debug.print Eval("FuncTest" & I & "()") Next I End Sub
Bonsoir à tous,
dans l'exemple suivant comment écrire "Var" & " Bb" pour que cette concatenation soit reconnue comme une variable ?
Sub essai_1() '....... VarAa = 2: VarBb = 3 VarTot = VarAa + Val("Var" & "Bb") ' ici la valeur de VarBb n'est pas prise en compte MsgBox VarTot '........ End Sub
-- Ne pas utiliser la fonction: "Répondre à l'expéditeur" L'adresse a été volontairement modifiée (spam) écrire à: avec un seul 'c' au début
Bonjour
Essaies de te pencher sur Eval(). Dans le cas ou tu lui passes une fonction,
elle évalue le résultat. Ton pb est que tu souhaites référencer une variable
en indirect.
Jettes un oeil si ca peut solutionner ton problème.
Sub test()
Dim I As Integer
For I = 1 To 10
debug.print Eval("FuncTest" & I & "()")
Next I
End Sub
Bonsoir à tous,
dans l'exemple suivant comment écrire "Var" & " Bb"
pour que cette concatenation soit reconnue comme une variable ?
Sub essai_1()
'.......
VarAa = 2: VarBb = 3
VarTot = VarAa + Val("Var" & "Bb") ' ici la valeur de VarBb n'est pas
prise en compte
MsgBox VarTot
'........
End Sub
--
Ne pas utiliser la fonction: "Répondre à l'expéditeur"
L'adresse a été volontairement modifiée (spam)
écrire à: cchris.col@free.fr avec un seul 'c' au début
Essaies de te pencher sur Eval(). Dans le cas ou tu lui passes une fonction, elle évalue le résultat. Ton pb est que tu souhaites référencer une variable en indirect. Jettes un oeil si ca peut solutionner ton problème.
Sub test() Dim I As Integer For I = 1 To 10 debug.print Eval("FuncTest" & I & "()") Next I End Sub
Bonsoir à tous,
dans l'exemple suivant comment écrire "Var" & " Bb" pour que cette concatenation soit reconnue comme une variable ?
Sub essai_1() '....... VarAa = 2: VarBb = 3 VarTot = VarAa + Val("Var" & "Bb") ' ici la valeur de VarBb n'est pas prise en compte MsgBox VarTot '........ End Sub
-- Ne pas utiliser la fonction: "Répondre à l'expéditeur" L'adresse a été volontairement modifiée (spam) écrire à: avec un seul 'c' au début