bonjour
je planche tjs sur la possibilité d'exécuter une formule récupérée sous
forme de texte afin que sous excell lorsque je taperais "=evalueformule(
xxxx)" la cellule affiche le résultat de la fonction x.
j'ai recherché sur le net mais mes essais restent sans résultat je
récupère
tjs #erreur !!
J'ai mis dans un module contenant déja une autre fonction qui marche :
Function Evalueformule(x)
ActiveCell.Formula = x
End Function
J'ai essayé avec formulalocal, formula en rajoutant aussi R1C1 et même
avec
une chaine x passant en paramètre bêtement ¡*a2
Ma fonction est dans le même module qu'une fonction qui fonctionne, ce ne
doit pas être un pb de visibilité export ??
Faut il déclarer une variable x local pour le paramètre x ?
Il semblerait qu'il faut pour certains mettre le nom de la fonction en
anglais, mais j'ai cru comprendre que ce n'est pas le cas si on met local.
Du reste pour une fonction simple * il ne doit pas y avoir de pb.
D'avance merci
bonjour
je planche tjs sur la possibilité d'exécuter une formule récupérée sous
forme de texte afin que sous excell lorsque je taperais "=evalueformule(
xxxx)" la cellule affiche le résultat de la fonction x.
j'ai recherché sur le net mais mes essais restent sans résultat je
récupère
tjs #erreur !!
J'ai mis dans un module contenant déja une autre fonction qui marche :
Function Evalueformule(x)
ActiveCell.Formula = x
End Function
J'ai essayé avec formulalocal, formula en rajoutant aussi R1C1 et même
avec
une chaine x passant en paramètre bêtement ¡*a2
Ma fonction est dans le même module qu'une fonction qui fonctionne, ce ne
doit pas être un pb de visibilité export ??
Faut il déclarer une variable x local pour le paramètre x ?
Il semblerait qu'il faut pour certains mettre le nom de la fonction en
anglais, mais j'ai cru comprendre que ce n'est pas le cas si on met local.
Du reste pour une fonction simple * il ne doit pas y avoir de pb.
D'avance merci
bonjour
je planche tjs sur la possibilité d'exécuter une formule récupérée sous
forme de texte afin que sous excell lorsque je taperais "=evalueformule(
xxxx)" la cellule affiche le résultat de la fonction x.
j'ai recherché sur le net mais mes essais restent sans résultat je
récupère
tjs #erreur !!
J'ai mis dans un module contenant déja une autre fonction qui marche :
Function Evalueformule(x)
ActiveCell.Formula = x
End Function
J'ai essayé avec formulalocal, formula en rajoutant aussi R1C1 et même
avec
une chaine x passant en paramètre bêtement ¡*a2
Ma fonction est dans le même module qu'une fonction qui fonctionne, ce ne
doit pas être un pb de visibilité export ??
Faut il déclarer une variable x local pour le paramètre x ?
Il semblerait qu'il faut pour certains mettre le nom de la fonction en
anglais, mais j'ai cru comprendre que ce n'est pas le cas si on met local.
Du reste pour une fonction simple * il ne doit pas y avoir de pb.
D'avance merci
Bonjour
Testé avec succès sur Excel 2003 SP2 :
Function Evalueformule(Formule)
ActiveCell.FormulaLocal = Formule
End Function
Sub testEvalueFormule()
Evalueformule "=SOMME(A1:A50)"
End Sub
Cordialement
PAscal
"lion10" a écrit dans le message de news:
> bonjour
>
> je planche tjs sur la possibilité d'exécuter une formule récupérée sous
> forme de texte afin que sous excell lorsque je taperais "=evalueformule(
> xxxx)" la cellule affiche le résultat de la fonction x.
>
> j'ai recherché sur le net mais mes essais restent sans résultat je
> récupère
> tjs #erreur !!
>
> J'ai mis dans un module contenant déja une autre fonction qui marche :
> Function Evalueformule(x)
> ActiveCell.Formula = x
> End Function
>
> J'ai essayé avec formulalocal, formula en rajoutant aussi R1C1 et même
> avec
> une chaine x passant en paramètre bêtement ¡*a2
>
> Ma fonction est dans le même module qu'une fonction qui fonctionne, ce ne
> doit pas être un pb de visibilité export ??
>
> Faut il déclarer une variable x local pour le paramètre x ?
>
> Il semblerait qu'il faut pour certains mettre le nom de la fonction en
> anglais, mais j'ai cru comprendre que ce n'est pas le cas si on met local.
> Du reste pour une fonction simple * il ne doit pas y avoir de pb.
>
> D'avance merci
>
>
>
Bonjour
Testé avec succès sur Excel 2003 SP2 :
Function Evalueformule(Formule)
ActiveCell.FormulaLocal = Formule
End Function
Sub testEvalueFormule()
Evalueformule "=SOMME(A1:A50)"
End Sub
Cordialement
PAscal
"lion10" <lion10@discussions.microsoft.com> a écrit dans le message de news:
1502A25F-BF75-4EDF-85BA-BCA1469152F9@microsoft.com...
> bonjour
>
> je planche tjs sur la possibilité d'exécuter une formule récupérée sous
> forme de texte afin que sous excell lorsque je taperais "=evalueformule(
> xxxx)" la cellule affiche le résultat de la fonction x.
>
> j'ai recherché sur le net mais mes essais restent sans résultat je
> récupère
> tjs #erreur !!
>
> J'ai mis dans un module contenant déja une autre fonction qui marche :
> Function Evalueformule(x)
> ActiveCell.Formula = x
> End Function
>
> J'ai essayé avec formulalocal, formula en rajoutant aussi R1C1 et même
> avec
> une chaine x passant en paramètre bêtement ¡*a2
>
> Ma fonction est dans le même module qu'une fonction qui fonctionne, ce ne
> doit pas être un pb de visibilité export ??
>
> Faut il déclarer une variable x local pour le paramètre x ?
>
> Il semblerait qu'il faut pour certains mettre le nom de la fonction en
> anglais, mais j'ai cru comprendre que ce n'est pas le cas si on met local.
> Du reste pour une fonction simple * il ne doit pas y avoir de pb.
>
> D'avance merci
>
>
>
Bonjour
Testé avec succès sur Excel 2003 SP2 :
Function Evalueformule(Formule)
ActiveCell.FormulaLocal = Formule
End Function
Sub testEvalueFormule()
Evalueformule "=SOMME(A1:A50)"
End Sub
Cordialement
PAscal
"lion10" a écrit dans le message de news:
> bonjour
>
> je planche tjs sur la possibilité d'exécuter une formule récupérée sous
> forme de texte afin que sous excell lorsque je taperais "=evalueformule(
> xxxx)" la cellule affiche le résultat de la fonction x.
>
> j'ai recherché sur le net mais mes essais restent sans résultat je
> récupère
> tjs #erreur !!
>
> J'ai mis dans un module contenant déja une autre fonction qui marche :
> Function Evalueformule(x)
> ActiveCell.Formula = x
> End Function
>
> J'ai essayé avec formulalocal, formula en rajoutant aussi R1C1 et même
> avec
> une chaine x passant en paramètre bêtement ¡*a2
>
> Ma fonction est dans le même module qu'une fonction qui fonctionne, ce ne
> doit pas être un pb de visibilité export ??
>
> Faut il déclarer une variable x local pour le paramètre x ?
>
> Il semblerait qu'il faut pour certains mettre le nom de la fonction en
> anglais, mais j'ai cru comprendre que ce n'est pas le cas si on met local.
> Du reste pour une fonction simple * il ne doit pas y avoir de pb.
>
> D'avance merci
>
>
>
Bonjour
je vois une différence / ce que j'ai fait :
-Pour vous une fonction evalueformule est appelée par la fonction texte
avec
une chaine de caractère entre guillemet ( oubli parenthèse je pense).
Pour moi j'ai cette fonction évalueformule dans un moidule vb et ensuite
je
l'appelle dans le classeur excel en mettant =evalueformule(xx) dans une
cellule.
C'est sans doute cette différence pb de visibilité équivalent du #externe
en
C ?? qui fait que cela ne fonctionne pas.
Qu'en pensez vous ?
cdlt
"papou" a écrit :Bonjour
Testé avec succès sur Excel 2003 SP2 :
Function Evalueformule(Formule)
ActiveCell.FormulaLocal = Formule
End Function
Sub testEvalueFormule()
Evalueformule "=SOMME(A1:A50)"
End Sub
Cordialement
PAscal
"lion10" a écrit dans le message de
news:
> bonjour
>
> je planche tjs sur la possibilité d'exécuter une formule récupérée sous
> forme de texte afin que sous excell lorsque je taperais
> "=evalueformule(
> xxxx)" la cellule affiche le résultat de la fonction x.
>
> j'ai recherché sur le net mais mes essais restent sans résultat je
> récupère
> tjs #erreur !!
>
> J'ai mis dans un module contenant déja une autre fonction qui marche :
> Function Evalueformule(x)
> ActiveCell.Formula = x
> End Function
>
> J'ai essayé avec formulalocal, formula en rajoutant aussi R1C1 et même
> avec
> une chaine x passant en paramètre bêtement ¡*a2
>
> Ma fonction est dans le même module qu'une fonction qui fonctionne, ce
> ne
> doit pas être un pb de visibilité export ??
>
> Faut il déclarer une variable x local pour le paramètre x ?
>
> Il semblerait qu'il faut pour certains mettre le nom de la fonction en
> anglais, mais j'ai cru comprendre que ce n'est pas le cas si on met
> local.
> Du reste pour une fonction simple * il ne doit pas y avoir de pb.
>
> D'avance merci
>
>
>
Bonjour
je vois une différence / ce que j'ai fait :
-Pour vous une fonction evalueformule est appelée par la fonction texte
avec
une chaine de caractère entre guillemet ( oubli parenthèse je pense).
Pour moi j'ai cette fonction évalueformule dans un moidule vb et ensuite
je
l'appelle dans le classeur excel en mettant =evalueformule(xx) dans une
cellule.
C'est sans doute cette différence pb de visibilité équivalent du #externe
en
C ?? qui fait que cela ne fonctionne pas.
Qu'en pensez vous ?
cdlt
"papou" a écrit :
Bonjour
Testé avec succès sur Excel 2003 SP2 :
Function Evalueformule(Formule)
ActiveCell.FormulaLocal = Formule
End Function
Sub testEvalueFormule()
Evalueformule "=SOMME(A1:A50)"
End Sub
Cordialement
PAscal
"lion10" <lion10@discussions.microsoft.com> a écrit dans le message de
news:
1502A25F-BF75-4EDF-85BA-BCA1469152F9@microsoft.com...
> bonjour
>
> je planche tjs sur la possibilité d'exécuter une formule récupérée sous
> forme de texte afin que sous excell lorsque je taperais
> "=evalueformule(
> xxxx)" la cellule affiche le résultat de la fonction x.
>
> j'ai recherché sur le net mais mes essais restent sans résultat je
> récupère
> tjs #erreur !!
>
> J'ai mis dans un module contenant déja une autre fonction qui marche :
> Function Evalueformule(x)
> ActiveCell.Formula = x
> End Function
>
> J'ai essayé avec formulalocal, formula en rajoutant aussi R1C1 et même
> avec
> une chaine x passant en paramètre bêtement ¡*a2
>
> Ma fonction est dans le même module qu'une fonction qui fonctionne, ce
> ne
> doit pas être un pb de visibilité export ??
>
> Faut il déclarer une variable x local pour le paramètre x ?
>
> Il semblerait qu'il faut pour certains mettre le nom de la fonction en
> anglais, mais j'ai cru comprendre que ce n'est pas le cas si on met
> local.
> Du reste pour une fonction simple * il ne doit pas y avoir de pb.
>
> D'avance merci
>
>
>
Bonjour
je vois une différence / ce que j'ai fait :
-Pour vous une fonction evalueformule est appelée par la fonction texte
avec
une chaine de caractère entre guillemet ( oubli parenthèse je pense).
Pour moi j'ai cette fonction évalueformule dans un moidule vb et ensuite
je
l'appelle dans le classeur excel en mettant =evalueformule(xx) dans une
cellule.
C'est sans doute cette différence pb de visibilité équivalent du #externe
en
C ?? qui fait que cela ne fonctionne pas.
Qu'en pensez vous ?
cdlt
"papou" a écrit :Bonjour
Testé avec succès sur Excel 2003 SP2 :
Function Evalueformule(Formule)
ActiveCell.FormulaLocal = Formule
End Function
Sub testEvalueFormule()
Evalueformule "=SOMME(A1:A50)"
End Sub
Cordialement
PAscal
"lion10" a écrit dans le message de
news:
> bonjour
>
> je planche tjs sur la possibilité d'exécuter une formule récupérée sous
> forme de texte afin que sous excell lorsque je taperais
> "=evalueformule(
> xxxx)" la cellule affiche le résultat de la fonction x.
>
> j'ai recherché sur le net mais mes essais restent sans résultat je
> récupère
> tjs #erreur !!
>
> J'ai mis dans un module contenant déja une autre fonction qui marche :
> Function Evalueformule(x)
> ActiveCell.Formula = x
> End Function
>
> J'ai essayé avec formulalocal, formula en rajoutant aussi R1C1 et même
> avec
> une chaine x passant en paramètre bêtement ¡*a2
>
> Ma fonction est dans le même module qu'une fonction qui fonctionne, ce
> ne
> doit pas être un pb de visibilité export ??
>
> Faut il déclarer une variable x local pour le paramètre x ?
>
> Il semblerait qu'il faut pour certains mettre le nom de la fonction en
> anglais, mais j'ai cru comprendre que ce n'est pas le cas si on met
> local.
> Du reste pour une fonction simple * il ne doit pas y avoir de pb.
>
> D'avance merci
>
>
>
Re
Donc si je comprends bien, tu cherches (excuse-moi pour le tu) à inscrire le
résultat d'une formule dans une cellule ?
Si c'est bien ça, alors je ferai comme ceci :
Function Evalueformule(Cellule As Range, Formule As String)
Cellule.Value = Evaluate(Formule)
End Function
Sub testEvalueFormule()
Evalueformule Range(ActiveCell.Address), "SUM(A1:A50)"
End Sub
Cordialement
Pascal
"lion10" a écrit dans le message de news:
> Bonjour
>
> je vois une différence / ce que j'ai fait :
> -Pour vous une fonction evalueformule est appelée par la fonction texte
> avec
> une chaine de caractère entre guillemet ( oubli parenthèse je pense).
>
> Pour moi j'ai cette fonction évalueformule dans un moidule vb et ensuite
> je
> l'appelle dans le classeur excel en mettant =evalueformule(xx) dans une
> cellule.
>
> C'est sans doute cette différence pb de visibilité équivalent du #externe
> en
> C ?? qui fait que cela ne fonctionne pas.
>
> Qu'en pensez vous ?
>
> cdlt
>
> "papou" a écrit :
>
>> Bonjour
>> Testé avec succès sur Excel 2003 SP2 :
>> Function Evalueformule(Formule)
>> ActiveCell.FormulaLocal = Formule
>> End Function
>>
>> Sub testEvalueFormule()
>> Evalueformule "=SOMME(A1:A50)"
>> End Sub
>>
>> Cordialement
>> PAscal
>>
>> "lion10" a écrit dans le message de
>> news:
>>
>> > bonjour
>> >
>> > je planche tjs sur la possibilité d'exécuter une formule récupérée sous
>> > forme de texte afin que sous excell lorsque je taperais
>> > "=evalueformule(
>> > xxxx)" la cellule affiche le résultat de la fonction x.
>> >
>> > j'ai recherché sur le net mais mes essais restent sans résultat je
>> > récupère
>> > tjs #erreur !!
>> >
>> > J'ai mis dans un module contenant déja une autre fonction qui marche :
>> > Function Evalueformule(x)
>> > ActiveCell.Formula = x
>> > End Function
>> >
>> > J'ai essayé avec formulalocal, formula en rajoutant aussi R1C1 et même
>> > avec
>> > une chaine x passant en paramètre bêtement ¡*a2
>> >
>> > Ma fonction est dans le même module qu'une fonction qui fonctionne, ce
>> > ne
>> > doit pas être un pb de visibilité export ??
>> >
>> > Faut il déclarer une variable x local pour le paramètre x ?
>> >
>> > Il semblerait qu'il faut pour certains mettre le nom de la fonction en
>> > anglais, mais j'ai cru comprendre que ce n'est pas le cas si on met
>> > local.
>> > Du reste pour une fonction simple * il ne doit pas y avoir de pb.
>> >
>> > D'avance merci
>> >
>> >
>> >
>>
>>
>>
Re
Donc si je comprends bien, tu cherches (excuse-moi pour le tu) à inscrire le
résultat d'une formule dans une cellule ?
Si c'est bien ça, alors je ferai comme ceci :
Function Evalueformule(Cellule As Range, Formule As String)
Cellule.Value = Evaluate(Formule)
End Function
Sub testEvalueFormule()
Evalueformule Range(ActiveCell.Address), "SUM(A1:A50)"
End Sub
Cordialement
Pascal
"lion10" <lion10@discussions.microsoft.com> a écrit dans le message de news:
04DCD7FC-5ADA-435A-B2EC-08EB9DD4D4DB@microsoft.com...
> Bonjour
>
> je vois une différence / ce que j'ai fait :
> -Pour vous une fonction evalueformule est appelée par la fonction texte
> avec
> une chaine de caractère entre guillemet ( oubli parenthèse je pense).
>
> Pour moi j'ai cette fonction évalueformule dans un moidule vb et ensuite
> je
> l'appelle dans le classeur excel en mettant =evalueformule(xx) dans une
> cellule.
>
> C'est sans doute cette différence pb de visibilité équivalent du #externe
> en
> C ?? qui fait que cela ne fonctionne pas.
>
> Qu'en pensez vous ?
>
> cdlt
>
> "papou" a écrit :
>
>> Bonjour
>> Testé avec succès sur Excel 2003 SP2 :
>> Function Evalueformule(Formule)
>> ActiveCell.FormulaLocal = Formule
>> End Function
>>
>> Sub testEvalueFormule()
>> Evalueformule "=SOMME(A1:A50)"
>> End Sub
>>
>> Cordialement
>> PAscal
>>
>> "lion10" <lion10@discussions.microsoft.com> a écrit dans le message de
>> news:
>> 1502A25F-BF75-4EDF-85BA-BCA1469152F9@microsoft.com...
>> > bonjour
>> >
>> > je planche tjs sur la possibilité d'exécuter une formule récupérée sous
>> > forme de texte afin que sous excell lorsque je taperais
>> > "=evalueformule(
>> > xxxx)" la cellule affiche le résultat de la fonction x.
>> >
>> > j'ai recherché sur le net mais mes essais restent sans résultat je
>> > récupère
>> > tjs #erreur !!
>> >
>> > J'ai mis dans un module contenant déja une autre fonction qui marche :
>> > Function Evalueformule(x)
>> > ActiveCell.Formula = x
>> > End Function
>> >
>> > J'ai essayé avec formulalocal, formula en rajoutant aussi R1C1 et même
>> > avec
>> > une chaine x passant en paramètre bêtement ¡*a2
>> >
>> > Ma fonction est dans le même module qu'une fonction qui fonctionne, ce
>> > ne
>> > doit pas être un pb de visibilité export ??
>> >
>> > Faut il déclarer une variable x local pour le paramètre x ?
>> >
>> > Il semblerait qu'il faut pour certains mettre le nom de la fonction en
>> > anglais, mais j'ai cru comprendre que ce n'est pas le cas si on met
>> > local.
>> > Du reste pour une fonction simple * il ne doit pas y avoir de pb.
>> >
>> > D'avance merci
>> >
>> >
>> >
>>
>>
>>
Re
Donc si je comprends bien, tu cherches (excuse-moi pour le tu) à inscrire le
résultat d'une formule dans une cellule ?
Si c'est bien ça, alors je ferai comme ceci :
Function Evalueformule(Cellule As Range, Formule As String)
Cellule.Value = Evaluate(Formule)
End Function
Sub testEvalueFormule()
Evalueformule Range(ActiveCell.Address), "SUM(A1:A50)"
End Sub
Cordialement
Pascal
"lion10" a écrit dans le message de news:
> Bonjour
>
> je vois une différence / ce que j'ai fait :
> -Pour vous une fonction evalueformule est appelée par la fonction texte
> avec
> une chaine de caractère entre guillemet ( oubli parenthèse je pense).
>
> Pour moi j'ai cette fonction évalueformule dans un moidule vb et ensuite
> je
> l'appelle dans le classeur excel en mettant =evalueformule(xx) dans une
> cellule.
>
> C'est sans doute cette différence pb de visibilité équivalent du #externe
> en
> C ?? qui fait que cela ne fonctionne pas.
>
> Qu'en pensez vous ?
>
> cdlt
>
> "papou" a écrit :
>
>> Bonjour
>> Testé avec succès sur Excel 2003 SP2 :
>> Function Evalueformule(Formule)
>> ActiveCell.FormulaLocal = Formule
>> End Function
>>
>> Sub testEvalueFormule()
>> Evalueformule "=SOMME(A1:A50)"
>> End Sub
>>
>> Cordialement
>> PAscal
>>
>> "lion10" a écrit dans le message de
>> news:
>>
>> > bonjour
>> >
>> > je planche tjs sur la possibilité d'exécuter une formule récupérée sous
>> > forme de texte afin que sous excell lorsque je taperais
>> > "=evalueformule(
>> > xxxx)" la cellule affiche le résultat de la fonction x.
>> >
>> > j'ai recherché sur le net mais mes essais restent sans résultat je
>> > récupère
>> > tjs #erreur !!
>> >
>> > J'ai mis dans un module contenant déja une autre fonction qui marche :
>> > Function Evalueformule(x)
>> > ActiveCell.Formula = x
>> > End Function
>> >
>> > J'ai essayé avec formulalocal, formula en rajoutant aussi R1C1 et même
>> > avec
>> > une chaine x passant en paramètre bêtement ¡*a2
>> >
>> > Ma fonction est dans le même module qu'une fonction qui fonctionne, ce
>> > ne
>> > doit pas être un pb de visibilité export ??
>> >
>> > Faut il déclarer une variable x local pour le paramètre x ?
>> >
>> > Il semblerait qu'il faut pour certains mettre le nom de la fonction en
>> > anglais, mais j'ai cru comprendre que ce n'est pas le cas si on met
>> > local.
>> > Du reste pour une fonction simple * il ne doit pas y avoir de pb.
>> >
>> > D'avance merci
>> >
>> >
>> >
>>
>>
>>
bonjour papou
j'ai fait l'essai et cela ne marche pas.
je reformule
dans une cellule du tableur excell A1 par ex il y a une valeur sous forme de
texte ou résultat d'une formule précédente qu'importe qui commence par xxxx
où xxx comprend une formule excell.
en a2 je cré une chaîne en concaténant A1 et l'opérateur égale en début.
en a3 je tape sous le tableur =evalueformule( a2)
ensuite qd cela fonctenera je taperai directement en a3 =evalueformule("=" &
a1)
et j'attends donc de voir le résultat de la formule mise frappé dans a1 en
a3 voila j'en demande pas plus. Après la formule pourra évoluer et être plus
ou moins complexe.
cdlt lion10
"papou" a écrit :Re
Donc si je comprends bien, tu cherches (excuse-moi pour le tu) à inscrire le
résultat d'une formule dans une cellule ?
Si c'est bien ça, alors je ferai comme ceci :
Function Evalueformule(Cellule As Range, Formule As String)
Cellule.Value = Evaluate(Formule)
End Function
Sub testEvalueFormule()
Evalueformule Range(ActiveCell.Address), "SUM(A1:A50)"
End Sub
Cordialement
Pascal
"lion10" a écrit dans le message de news:Bonjour
je vois une différence / ce que j'ai fait :
-Pour vous une fonction evalueformule est appelée par la fonction texte
avec
une chaine de caractère entre guillemet ( oubli parenthèse je pense).
Pour moi j'ai cette fonction évalueformule dans un moidule vb et ensuite
je
l'appelle dans le classeur excel en mettant =evalueformule(xx) dans une
cellule.
C'est sans doute cette différence pb de visibilité équivalent du #externe
en
C ?? qui fait que cela ne fonctionne pas.
Qu'en pensez vous ?
cdlt
"papou" a écrit :Bonjour
Testé avec succès sur Excel 2003 SP2 :
Function Evalueformule(Formule)
ActiveCell.FormulaLocal = Formule
End Function
Sub testEvalueFormule()
Evalueformule "=SOMME(A1:A50)"
End Sub
Cordialement
PAscal
"lion10" a écrit dans le message de
news:bonjour
je planche tjs sur la possibilité d'exécuter une formule récupérée sous
forme de texte afin que sous excell lorsque je taperais
"=evalueformule(
xxxx)" la cellule affiche le résultat de la fonction x.
j'ai recherché sur le net mais mes essais restent sans résultat je
récupère
tjs #erreur !!
J'ai mis dans un module contenant déja une autre fonction qui marche :
Function Evalueformule(x)
ActiveCell.Formula = x
End Function
J'ai essayé avec formulalocal, formula en rajoutant aussi R1C1 et même
avec
une chaine x passant en paramètre bêtement ¡*a2
Ma fonction est dans le même module qu'une fonction qui fonctionne, ce
ne
doit pas être un pb de visibilité export ??
Faut il déclarer une variable x local pour le paramètre x ?
Il semblerait qu'il faut pour certains mettre le nom de la fonction en
anglais, mais j'ai cru comprendre que ce n'est pas le cas si on met
local.
Du reste pour une fonction simple * il ne doit pas y avoir de pb.
D'avance merci
bonjour papou
j'ai fait l'essai et cela ne marche pas.
je reformule
dans une cellule du tableur excell A1 par ex il y a une valeur sous forme de
texte ou résultat d'une formule précédente qu'importe qui commence par xxxx
où xxx comprend une formule excell.
en a2 je cré une chaîne en concaténant A1 et l'opérateur égale en début.
en a3 je tape sous le tableur =evalueformule( a2)
ensuite qd cela fonctenera je taperai directement en a3 =evalueformule("=" &
a1)
et j'attends donc de voir le résultat de la formule mise frappé dans a1 en
a3 voila j'en demande pas plus. Après la formule pourra évoluer et être plus
ou moins complexe.
cdlt lion10
"papou" a écrit :
Re
Donc si je comprends bien, tu cherches (excuse-moi pour le tu) à inscrire le
résultat d'une formule dans une cellule ?
Si c'est bien ça, alors je ferai comme ceci :
Function Evalueformule(Cellule As Range, Formule As String)
Cellule.Value = Evaluate(Formule)
End Function
Sub testEvalueFormule()
Evalueformule Range(ActiveCell.Address), "SUM(A1:A50)"
End Sub
Cordialement
Pascal
"lion10" <lion10@discussions.microsoft.com> a écrit dans le message de news:
04DCD7FC-5ADA-435A-B2EC-08EB9DD4D4DB@microsoft.com...
Bonjour
je vois une différence / ce que j'ai fait :
-Pour vous une fonction evalueformule est appelée par la fonction texte
avec
une chaine de caractère entre guillemet ( oubli parenthèse je pense).
Pour moi j'ai cette fonction évalueformule dans un moidule vb et ensuite
je
l'appelle dans le classeur excel en mettant =evalueformule(xx) dans une
cellule.
C'est sans doute cette différence pb de visibilité équivalent du #externe
en
C ?? qui fait que cela ne fonctionne pas.
Qu'en pensez vous ?
cdlt
"papou" a écrit :
Bonjour
Testé avec succès sur Excel 2003 SP2 :
Function Evalueformule(Formule)
ActiveCell.FormulaLocal = Formule
End Function
Sub testEvalueFormule()
Evalueformule "=SOMME(A1:A50)"
End Sub
Cordialement
PAscal
"lion10" <lion10@discussions.microsoft.com> a écrit dans le message de
news:
1502A25F-BF75-4EDF-85BA-BCA1469152F9@microsoft.com...
bonjour
je planche tjs sur la possibilité d'exécuter une formule récupérée sous
forme de texte afin que sous excell lorsque je taperais
"=evalueformule(
xxxx)" la cellule affiche le résultat de la fonction x.
j'ai recherché sur le net mais mes essais restent sans résultat je
récupère
tjs #erreur !!
J'ai mis dans un module contenant déja une autre fonction qui marche :
Function Evalueformule(x)
ActiveCell.Formula = x
End Function
J'ai essayé avec formulalocal, formula en rajoutant aussi R1C1 et même
avec
une chaine x passant en paramètre bêtement ¡*a2
Ma fonction est dans le même module qu'une fonction qui fonctionne, ce
ne
doit pas être un pb de visibilité export ??
Faut il déclarer une variable x local pour le paramètre x ?
Il semblerait qu'il faut pour certains mettre le nom de la fonction en
anglais, mais j'ai cru comprendre que ce n'est pas le cas si on met
local.
Du reste pour une fonction simple * il ne doit pas y avoir de pb.
D'avance merci
bonjour papou
j'ai fait l'essai et cela ne marche pas.
je reformule
dans une cellule du tableur excell A1 par ex il y a une valeur sous forme de
texte ou résultat d'une formule précédente qu'importe qui commence par xxxx
où xxx comprend une formule excell.
en a2 je cré une chaîne en concaténant A1 et l'opérateur égale en début.
en a3 je tape sous le tableur =evalueformule( a2)
ensuite qd cela fonctenera je taperai directement en a3 =evalueformule("=" &
a1)
et j'attends donc de voir le résultat de la formule mise frappé dans a1 en
a3 voila j'en demande pas plus. Après la formule pourra évoluer et être plus
ou moins complexe.
cdlt lion10
"papou" a écrit :Re
Donc si je comprends bien, tu cherches (excuse-moi pour le tu) à inscrire le
résultat d'une formule dans une cellule ?
Si c'est bien ça, alors je ferai comme ceci :
Function Evalueformule(Cellule As Range, Formule As String)
Cellule.Value = Evaluate(Formule)
End Function
Sub testEvalueFormule()
Evalueformule Range(ActiveCell.Address), "SUM(A1:A50)"
End Sub
Cordialement
Pascal
"lion10" a écrit dans le message de news:Bonjour
je vois une différence / ce que j'ai fait :
-Pour vous une fonction evalueformule est appelée par la fonction texte
avec
une chaine de caractère entre guillemet ( oubli parenthèse je pense).
Pour moi j'ai cette fonction évalueformule dans un moidule vb et ensuite
je
l'appelle dans le classeur excel en mettant =evalueformule(xx) dans une
cellule.
C'est sans doute cette différence pb de visibilité équivalent du #externe
en
C ?? qui fait que cela ne fonctionne pas.
Qu'en pensez vous ?
cdlt
"papou" a écrit :Bonjour
Testé avec succès sur Excel 2003 SP2 :
Function Evalueformule(Formule)
ActiveCell.FormulaLocal = Formule
End Function
Sub testEvalueFormule()
Evalueformule "=SOMME(A1:A50)"
End Sub
Cordialement
PAscal
"lion10" a écrit dans le message de
news:bonjour
je planche tjs sur la possibilité d'exécuter une formule récupérée sous
forme de texte afin que sous excell lorsque je taperais
"=evalueformule(
xxxx)" la cellule affiche le résultat de la fonction x.
j'ai recherché sur le net mais mes essais restent sans résultat je
récupère
tjs #erreur !!
J'ai mis dans un module contenant déja une autre fonction qui marche :
Function Evalueformule(x)
ActiveCell.Formula = x
End Function
J'ai essayé avec formulalocal, formula en rajoutant aussi R1C1 et même
avec
une chaine x passant en paramètre bêtement ¡*a2
Ma fonction est dans le même module qu'une fonction qui fonctionne, ce
ne
doit pas être un pb de visibilité export ??
Faut il déclarer une variable x local pour le paramètre x ?
Il semblerait qu'il faut pour certains mettre le nom de la fonction en
anglais, mais j'ai cru comprendre que ce n'est pas le cas si on met
local.
Du reste pour une fonction simple * il ne doit pas y avoir de pb.
D'avance merci