Attribuer a une variable une formule
Résolu/Fermé
aminesc
Messages postés
70
Date d'inscription
dimanche 25 octobre 2015
Statut
Membre
Dernière intervention
3 juillet 2017
-
29 juin 2016 à 16:07
Arkana0 Messages postés 6365 Date d'inscription mercredi 11 février 2009 Statut Modérateur Dernière intervention 10 février 2023 - 30 juin 2016 à 16:34
Arkana0 Messages postés 6365 Date d'inscription mercredi 11 février 2009 Statut Modérateur Dernière intervention 10 février 2023 - 30 juin 2016 à 16:34
Bonjour,
je veux attribué a la valeur d'une variable une formule , du genre :
je veux attribué a la valeur d'une variable une formule , du genre :
Dim id_modif As String id_modif.Value = "=RIGHT(USERFORM92.ID.VALUE,1)"
A voir également:
- Attribuer a une variable une formule
- Formule si et - Guide
- Formule somme excel colonne - Guide
- Excel retour à la ligne dans une formule - Guide
- Formule excel moyenne - Guide
- Excel mise en forme conditionnelle formule - Guide
3 réponses
Arkana0
Messages postés
6365
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
181
29 juin 2016 à 17:04
29 juin 2016 à 17:04
Bonjour,
Deux possibilités :
- Tu veux que cette variable puisse renseigner une formule dans une case Excel ?
Dans ce cas ta variable doit être déclarée en String (chaîne de caractère). Attention, ton "USERFORM92.ID.VALUE" est très probablement une variable ?
Il faudra alors la concaténer avec les chaînes de caractère de ta formule :
De même, ta formule doit reprendre l'écriture telle que sur Excel (j'ai remplacé la virgule par un point virgule). Si tu as une version française, il faudra écrire
- Tu veux simplement reprendre une formule existante d'Excel pour modifier ta variable ?
Deux possibilités :
- Tu veux que cette variable puisse renseigner une formule dans une case Excel ?
Dans ce cas ta variable doit être déclarée en String (chaîne de caractère). Attention, ton "USERFORM92.ID.VALUE" est très probablement une variable ?
Il faudra alors la concaténer avec les chaînes de caractère de ta formule :
id_modif.Value = "=RIGHT(" & USERFORM92.ID.VALUE & ";1)"
De même, ta formule doit reprendre l'écriture telle que sur Excel (j'ai remplacé la virgule par un point virgule). Si tu as une version française, il faudra écrire
id_modif.Value = "=DROITE(" & USERFORM92.ID.VALUE & ";1)"
- Tu veux simplement reprendre une formule existante d'Excel pour modifier ta variable ?
id_modif.Value = RIGHT(USERFORM92.ID.VALUE,1)
thev
Messages postés
1962
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
18 février 2025
705
29 juin 2016 à 19:09
29 juin 2016 à 19:09
Bonjour,
Tu ne peux pas appliquer une propriété Value à une variable String.
Il faut que la variable soit associée à une classe possédant cette propriété.
Tu ne peux pas appliquer une propriété Value à une variable String.
Il faut que la variable soit associée à une classe possédant cette propriété.
Arkana0
Messages postés
6365
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
181
30 juin 2016 à 08:50
30 juin 2016 à 08:50
En effet, je vois l'arbre, mais ne remarque pas la forêt !
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
30 juin 2016 à 08:47
30 juin 2016 à 08:47
aminesc
Messages postés
70
Date d'inscription
dimanche 25 octobre 2015
Statut
Membre
Dernière intervention
3 juillet 2017
30 juin 2016 à 13:33
30 juin 2016 à 13:33
Bonjour,
-on premier lieu j'ai pas compris ta declaration de variable :
Dim any string , mystr ????
on est pas obliger de mètre as string , as,,,,,
-corriger moi si je fais une erreur , je peux utilisé les formule VBA directement avec les variable pas besoin d’apostrophe "",
j'ai essayé sa mais sa na pas marche :
-on premier lieu j'ai pas compris ta declaration de variable :
Dim any string , mystr ????
on est pas obliger de mètre as string , as,,,,,
-corriger moi si je fais une erreur , je peux utilisé les formule VBA directement avec les variable pas besoin d’apostrophe "",
j'ai essayé sa mais sa na pas marche :
N°R = VLookup(""" & TYPE_DEBOURS.Text & """, TYPE_DEBOURS, 2, False)
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
>
aminesc
Messages postés
70
Date d'inscription
dimanche 25 octobre 2015
Statut
Membre
Dernière intervention
3 juillet 2017
Modifié par michel_m le 30/06/2016 à 14:29
Modifié par michel_m le 30/06/2016 à 14:29
Pour Aminsec
excuses moi Arkana, pour mon incruste
-on premier lieu j'ai pas compris ta declaration de variable :
Dim any string , mystr ????
Ce n'est pas MA déclaration de Variable mais celle de Microsoft puisque c'est une capture d'écran de l'aide MS !!!!!
on est pas obliger de mètre as string , as,,,,,
Non on est pas obligé mais,Bien sûr, si Microsoft le fait, il a tort puisque tu le dis
Bonne continuation
excuses moi Arkana, pour mon incruste
-on premier lieu j'ai pas compris ta declaration de variable :
Dim any string , mystr ????
Ce n'est pas MA déclaration de Variable mais celle de Microsoft puisque c'est une capture d'écran de l'aide MS !!!!!
on est pas obliger de mètre as string , as,,,,,
Non on est pas obligé mais,Bien sûr, si Microsoft le fait, il a tort puisque tu le dis
Bonne continuation
Arkana0
Messages postés
6365
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
181
>
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
30 juin 2016 à 16:34
30 juin 2016 à 16:34
Il n'y a pas chasse gardée pour les gens que l'on aide ;)
Arkana0
Messages postés
6365
Date d'inscription
mercredi 11 février 2009
Statut
Modérateur
Dernière intervention
10 février 2023
181
Modifié par Arkana0 le 30/06/2016 à 14:12
Modifié par Arkana0 le 30/06/2016 à 14:12
Bonjour,
Les apostrophes marquent le début ou la fin d'une chaîne de caractères pour que le compilateur constate que tu écris une chaîne de caractère et pas le nom d'une variable ou d'une fonction. Deux "chaînes de caractères" (ou du moins considérées comme telles par le compilateur) côte à côte sans opérateur & engendreront une erreur.
Pour écrire des guillemets, il faut terminer la première chaîne de caractère avec... un guillemet. puis y ajouter le caractère Chr(34).
Ça donne le code suivant :
Mais en l'occurrence, tu n'as pas à mettre entre guillemets une variable String, sauf pour l'accoler à d'autres chaînes de caractères.
Au final, ton code devrait ressembler à ça :
Car je ne vois pas ce que le .text vient faire là non-plus...
Les apostrophes marquent le début ou la fin d'une chaîne de caractères pour que le compilateur constate que tu écris une chaîne de caractère et pas le nom d'une variable ou d'une fonction. Deux "chaînes de caractères" (ou du moins considérées comme telles par le compilateur) côte à côte sans opérateur & engendreront une erreur.
Pour écrire des guillemets, il faut terminer la première chaîne de caractère avec... un guillemet. puis y ajouter le caractère Chr(34).
Ça donne le code suivant :
VLookup(" & Chr(34) & " & TYPE_DEBOURS.Text & " & Chr(34) & ", TYPE_DEBOURS, 2, False)
Mais en l'occurrence, tu n'as pas à mettre entre guillemets une variable String, sauf pour l'accoler à d'autres chaînes de caractères.
Au final, ton code devrait ressembler à ça :
N°R = VLookup(TYPE_DEBOURS, TYPE_DEBOURS, 2, False)
Car je ne vois pas ce que le .text vient faire là non-plus...