Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
evaluer une chaine avec variable VBA d'une cellule
Bonjour,
j'ai dans les cellules d'une feuille des valeurs de la forme :
"texte bla bla" & Var1 & " texte blabla"
où var1 est le nom d'une variable VBA.
j'aimerais bien récupérer dans VBA cette chaîne avec "Var1" qui est évaluée.
Si je fais toto=Range("A1").value, j'ai exactement la même valeur que dans ma cellule.
Est-ce que c'est possible ?
Merci d'avance
Re : evaluer une chaine avec variable VBA d'une cellule
Bonsoir Drone,
Qu'entends-tu par : "Var1" qui est évaluée?
Tu veux récupérer le blabla situé avant Var 1, puis le blabla situé après Var 1?
Si oui :
-> utilise l'enregistreur de macro
-> à l'aide des formules =TROUVE() et =DROITE() et =GAUCHE() tu extraira tes informations dans la cellule où tu auras mis ta formule.
Ensuite, il ne te reste plus qu'à rentrer dans ta macro et récupérer le code
Désolé de ne pouvoir faire plus, mais je n'ai presque rien compris à ta demande.
Si cela ne convient, n'hésites pas à mettre un fichier joint avec quelques exemples et le résultat final voulu.
Re : evaluer une chaine avec variable VBA d'une cellule
Salut le forum,
en reprenant l'idée excel lent, je pensais à la fonction SUBSTITUE.
soit : =SUBSTITUE(A1;" var1";"")
qui permet de récupérer le texte de la cellule A1 sans "var1".
ou plus précisément de remplacer "var1" dans A1 par du vide.
j'espère avoir été assez claire
mais avec un fichier joint ce serait en effet mieux.
Re : evaluer une chaine avec variable VBA d'une cellule
Bonjour,
tout d'abord merci d'avoir essayé de me répondre surtout avec l'énoncé qui n'était pas clair.
Dans le fichier que j'ai joint, il y a deux cellules dans lesquelles j'ai des chemins de répertoires qui sont définis. Ces chemins de répertoire dépendent des dates choisies dans le formulaire.
J'aimerais pouvoir évaluer ce nom afin que "userform1.combobox1.value" prenne la valeur choisie dans la combobox.
J'espère que (pour quelqu'un qui est endehors de ma tête) j'ai été clair.
Merci d'avance.
Re : evaluer une chaine avec variable VBA d'une cellule
Je fais une petite relance sur ce sujet car je pense qu'il doit y avoir quand même moyen d'évaluer une chaîne de caractère qui contient un ou plusieurs noms de variables.
Re : evaluer une chaine avec variable VBA d'une cellule
Tout d'abord merci d'avoir répondu.
Dans le fichier que tu as renvoyé, on connait dès le départ la chaîne à renvoyer en fonction de la date sélectionnée dans la ComboBox. Du coup il n'est plus utile d'utiliser les cellules du classeur pour définir les chemins de fichiers (c'est dailleurs ce que tu as fait vu qu'elles ne servent qu'à afficher le chemin sélectionné).
Alors que ce que je souhaiterais faire finalement avoir un code vba qui fonctionne pour n'importe quelle expression que j'aurais stocké dans une cellule.
Exemple: dans le code du formulaire, au lieu d'avoir ceci :
où dans la feuille n°1 de ce classeur, j'aurais en A10 :
"c:\Repertoire1\"& userform1.combobox1.value & "\sous-Rép2"
et la fonction Evalutation remplacerait "userform1.combobox1.value" par la valeur sélectionnée dans la ComboBox.
Ce qui me permettrait d'avoir le chemin défini dans une feuille et non pas dans le projet VBA, donc modifiable par n'importe qui.
Ceci est évidemment le cas simple de la résolution d'une seule valeur,
on pourrait avoir un truc du style :
"c:\Repertoire1\"& userform1.combobox1.value & "\sous-Rép2 - " & userform1.combobox2.value & "\toto"
L'objectif final étant d'avoir plein de boutons qui permettent d'ouvrir des fichiers dont les chemins et les noms dépendent de valeurs sélectionnées dans des combobox et sont définis dans des cellules.
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.