Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Peut-on Exécuter une formule dans une Macro

10 réponses
Avatar
bartez
Bonjour à tous,

Je recherche la fonction VBA qui permet d'exécuter une formule Excel.
Exemple :
dans une feuille j'ai cette formule :
=JOURS360(DATE(2004;5;23);DATE(2008;7;12))
je voudrais la garder tel quel (puisque elle fonctionne bien) mais la lancer
à partir d'une macro.
Existe-il une tel fonction VBA ?

Merci de votre aide
Philippe

10 réponses

Avatar
anonymousA
bonjour,

JOURS360 est days360 et Date est Date

pour écrire une fonction, il faut worksheetfunction. après le point du
écris ta formule in American and without the equal (=) et le tour est joué.

A+


Bonjour à tous,

Je recherche la fonction VBA qui permet d'exécuter une formule Excel.
Exemple :
dans une feuille j'ai cette formule :
=JOURS360(DATE(2004;5;23);DATE(2008;7;12))
je voudrais la garder tel quel (puisque elle fonctionne bien) mais la lancer
à partir d'une macro.
Existe-il une tel fonction VBA ?

Merci de votre aide
Philippe




Avatar
papou
Bonjour
MsgBox [Days360(DATE(2004,5,23),DATE(2008,7,12))]

Cordialement
Pascal

"bartez" a écrit dans le message de news:

Bonjour à tous,

Je recherche la fonction VBA qui permet d'exécuter une formule Excel.
Exemple :
dans une feuille j'ai cette formule :
=JOURS360(DATE(2004;5;23);DATE(2008;7;12))
je voudrais la garder tel quel (puisque elle fonctionne bien) mais la
lancer à partir d'une macro.
Existe-il une tel fonction VBA ?

Merci de votre aide
Philippe



Avatar
bartez
Merci pour ta réponse mais je ne la comprends pas bien...

ce que je souhaite faire c'est écrire des formule toutes simple dans une
feuille de calcul pour les tester...et si elles fonctionnent, pouvoir les
lancer avec une commande (qui doit exister déjà en VBA) du style
MaVariableRésultat = run ("=somme(10;15;60)")

Ma question était : "existe-il une commande qui permet celà ?"

@mic philippe


"anonymousA" a écrit dans le message de news:
432c1c13$0$20167$
bonjour,

JOURS360 est days360 et Date est Date

pour écrire une fonction, il faut worksheetfunction. après le point du
écris ta formule in American and without the equal (=) et le tour est
joué.

A+


Bonjour à tous,

Je recherche la fonction VBA qui permet d'exécuter une formule Excel.
Exemple :
dans une feuille j'ai cette formule :
=JOURS360(DATE(2004;5;23);DATE(2008;7;12))
je voudrais la garder tel quel (puisque elle fonctionne bien) mais la
lancer à partir d'une macro.
Existe-il une tel fonction VBA ?

Merci de votre aide
Philippe




Avatar
bartez
Merci Papou pour ta réponse ...

je viens d'essayer MsgBox [SOMME(12;15;30)] mais ça n'a pas fonctionné.

Ca me renvoi un message d'erreur "type incompatible"

de plus je ne souhaite pas afficher le résultat mais plutot le récupérer
dans une variable
du style :
MonRésulat = MsgBox [SOMME(12;15;30)]

@mic philippe

"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Bonjour
MsgBox [Days360(DATE(2004,5,23),DATE(2008,7,12))]

Cordialement
Pascal

"bartez" a écrit dans le message de news:

Bonjour à tous,

Je recherche la fonction VBA qui permet d'exécuter une formule Excel.
Exemple :
dans une feuille j'ai cette formule :
=JOURS360(DATE(2004;5;23);DATE(2008;7;12))
je voudrais la garder tel quel (puisque elle fonctionne bien) mais la
lancer à partir d'une macro.
Existe-il une tel fonction VBA ?

Merci de votre aide
Philippe







Avatar
michdenis
Bonjour Bartez,

Essaie comme ceci :


MsgBox [sum(12,15,30)]


Salutations!



"bartez" a écrit dans le message de news: %
Merci Papou pour ta réponse ...

je viens d'essayer MsgBox [SOMME(12;15;30)] mais ça n'a pas fonctionné.

Ca me renvoi un message d'erreur "type incompatible"

de plus je ne souhaite pas afficher le résultat mais plutot le récupérer
dans une variable
du style :
MonRésulat = MsgBox [SOMME(12;15;30)]

@mic philippe

"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Bonjour
MsgBox [Days360(DATE(2004,5,23),DATE(2008,7,12))]

Cordialement
Pascal

"bartez" a écrit dans le message de news:

Bonjour à tous,

Je recherche la fonction VBA qui permet d'exécuter une formule Excel.
Exemple :
dans une feuille j'ai cette formule :
=JOURS360(DATE(2004;5;23);DATE(2008;7;12))
je voudrais la garder tel quel (puisque elle fonctionne bien) mais la
lancer à partir d'une macro.
Existe-il une tel fonction VBA ?

Merci de votre aide
Philippe







Avatar
anonymousA
ben,

c'est justement ce que je t'ai proposé ( p.e
MaVariable=Application.worksheetfunction.Average(plage) renverra la
moyenne de la plage de cellules désignée par l'objet plage ) ou
d'ailleurs ce que te proposent d'une autre manière Papou ou MichDenis en
utilisant la forme courte de Evaluate d'ailleurs.
Je ne vois pas bien le problème.

A+

Merci pour ta réponse mais je ne la comprends pas bien...

ce que je souhaite faire c'est écrire des formule toutes simple dans une
feuille de calcul pour les tester...et si elles fonctionnent, pouvoir les
lancer avec une commande (qui doit exister déjà en VBA) du style
MaVariableRésultat = run ("=somme(10;15;60)")

Ma question était : "existe-il une commande qui permet celà ?"

@mic philippe


"anonymousA" a écrit dans le message de news:
432c1c13$0$20167$

bonjour,

JOURS360 est days360 et Date est Date

pour écrire une fonction, il faut worksheetfunction. après le point du
écris ta formule in American and without the equal (=) et le tour est
joué.

A+



Bonjour à tous,

Je recherche la fonction VBA qui permet d'exécuter une formule Excel.
Exemple :
dans une feuille j'ai cette formule :
=JOURS360(DATE(2004;5;23);DATE(2008;7;12))
je voudrais la garder tel quel (puisque elle fonctionne bien) mais la
lancer à partir d'une macro.
Existe-il une tel fonction VBA ?

Merci de votre aide
Philippe









Avatar
bartez
Ok ! ça marche bien mieux en effet !
je vais continué à tester ...
Tu aurras sans doute compris que je suis un débutant et que sur ce forum,
vous avez tendance à vous adresser à des initiés....
Moi je comprends ...doucement ;-)
@+
philippe

"michdenis" a écrit dans le message de news:
e6xm$
Bonjour Bartez,

Essaie comme ceci :


MsgBox [sum(12,15,30)]


Salutations!



"bartez" a écrit dans le message de news:
%
Merci Papou pour ta réponse ...

je viens d'essayer MsgBox [SOMME(12;15;30)] mais ça n'a pas fonctionné.

Ca me renvoi un message d'erreur "type incompatible"

de plus je ne souhaite pas afficher le résultat mais plutot le récupérer
dans une variable
du style :
MonRésulat = MsgBox [SOMME(12;15;30)]

@mic philippe

"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Bonjour
MsgBox [Days360(DATE(2004,5,23),DATE(2008,7,12))]

Cordialement
Pascal

"bartez" a écrit dans le message de news:

Bonjour à tous,

Je recherche la fonction VBA qui permet d'exécuter une formule Excel.
Exemple :
dans une feuille j'ai cette formule :
=JOURS360(DATE(2004;5;23);DATE(2008;7;12))
je voudrais la garder tel quel (puisque elle fonctionne bien) mais la
lancer à partir d'une macro.
Existe-il une tel fonction VBA ?

Merci de votre aide
Philippe












Avatar
bartez
Merci de prendre du temps pour m'expliquer !
Je ne suis pas un initié et il me faut peu de chose pour me déconcerter.

Quand j'utilise ta ligne
MaVariable=Application.worksheetfunction
et que je veux la compléter avec les fonctions excel que je connais, je ne
les trouve pas.
Par exemple SOMME(), qui n'apparait pas aprés le point. je crois comprendre
qu'elle porte un autres nom (anglais cette fois).
Naïvement j'espèrais pouvoir utiliser la même syntaxe à l'intérieur d'une
commande, mais si j'ai bien compris, cela n'existe pas.
Je vais donc me pencher sur les exemples que vous venez de me donner.
Essayé de comprendre leur fonctionnement pour pouvoir les adapter à mes
besoins.

En tout cas, Merci de ton aide !
@+
Philippe


"anonymousA" a écrit dans le message de news:
432c3585$0$20167$
ben,

c'est justement ce que je t'ai proposé ( p.e
MaVariable=Application.worksheetfunction.Average(plage) renverra la
moyenne de la plage de cellules désignée par l'objet plage ) ou d'ailleurs
ce que te proposent d'une autre manière Papou ou MichDenis en utilisant la
forme courte de Evaluate d'ailleurs.
Je ne vois pas bien le problème.

A+

Merci pour ta réponse mais je ne la comprends pas bien...

ce que je souhaite faire c'est écrire des formule toutes simple dans une
feuille de calcul pour les tester...et si elles fonctionnent, pouvoir les
lancer avec une commande (qui doit exister déjà en VBA) du style
MaVariableRésultat = run ("=somme(10;15;60)")

Ma question était : "existe-il une commande qui permet celà ?"

@mic philippe


"anonymousA" a écrit dans le message de news:
432c1c13$0$20167$

bonjour,

JOURS360 est days360 et Date est Date

pour écrire une fonction, il faut worksheetfunction. après le point du
écris ta formule in American and without the equal (=) et le tour est
joué.

A+



Bonjour à tous,

Je recherche la fonction VBA qui permet d'exécuter une formule Excel.
Exemple :
dans une feuille j'ai cette formule :
=JOURS360(DATE(2004;5;23);DATE(2008;7;12))
je voudrais la garder tel quel (puisque elle fonctionne bien) mais la
lancer à partir d'une macro.
Existe-il une tel fonction VBA ?

Merci de votre aide
Philippe










Avatar
anonymousA
c'est exactement ca. VBA parle Américain et les fonctions que ne couvre
pas par lui-même VBA , donc un certain nombre de celles que tu connais
dans l'environnement d'Excel, doivent être écrites comme tel avec
d'ailleurs aussi la convention Américaine p. e le point au lieu de la
virgule pour les chiffres, la virgule au lieu du point virgule pour les
séparations de paramètres.
Y'a pas à dire , c'est quand même un produit de Bill Gates qui ne me
parait pas Rwandais ou Moldave bien que ces 2 derniers soient tout à
fait honorables.
Bon courage

A+

Merci de prendre du temps pour m'expliquer !
Je ne suis pas un initié et il me faut peu de chose pour me déconcerter.

Quand j'utilise ta ligne
MaVariable=Application.worksheetfunction
et que je veux la compléter avec les fonctions excel que je connais, je ne
les trouve pas.
Par exemple SOMME(), qui n'apparait pas aprés le point. je crois comprendre
qu'elle porte un autres nom (anglais cette fois).
Naïvement j'espèrais pouvoir utiliser la même syntaxe à l'intérieur d'une
commande, mais si j'ai bien compris, cela n'existe pas.
Je vais donc me pencher sur les exemples que vous venez de me donner.
Essayé de comprendre leur fonctionnement pour pouvoir les adapter à mes
besoins.

En tout cas, Merci de ton aide !
@+
Philippe


"anonymousA" a écrit dans le message de news:
432c3585$0$20167$

ben,

c'est justement ce que je t'ai proposé ( p.e
MaVariable=Application.worksheetfunction.Average(plage) renverra la
moyenne de la plage de cellules désignée par l'objet plage ) ou d'ailleurs
ce que te proposent d'une autre manière Papou ou MichDenis en utilisant la
forme courte de Evaluate d'ailleurs.
Je ne vois pas bien le problème.

A+


Merci pour ta réponse mais je ne la comprends pas bien...

ce que je souhaite faire c'est écrire des formule toutes simple dans une
feuille de calcul pour les tester...et si elles fonctionnent, pouvoir les
lancer avec une commande (qui doit exister déjà en VBA) du style
MaVariableRésultat = run ("=somme(10;15;60)")

Ma question était : "existe-il une commande qui permet celà ?"

@mic philippe


"anonymousA" a écrit dans le message de news:
432c1c13$0$20167$


bonjour,

JOURS360 est days360 et Date est Date

pour écrire une fonction, il faut worksheetfunction. après le point du
écris ta formule in American and without the equal (=) et le tour est
joué.

A+




Bonjour à tous,

Je recherche la fonction VBA qui permet d'exécuter une formule Excel.
Exemple :
dans une feuille j'ai cette formule :
=JOURS360(DATE(2004;5;23);DATE(2008;7;12))
je voudrais la garder tel quel (puisque elle fonctionne bien) mais la
lancer à partir d'une macro.
Existe-il une tel fonction VBA ?

Merci de votre aide
Philippe













Avatar
bartez
Merci pour tout....ton aide...et ton temps !
@+
Philippe

"anonymousA" a écrit dans le message de news:
432c3bfb$0$20167$
c'est exactement ca. VBA parle Américain et les fonctions que ne couvre
pas par lui-même VBA , donc un certain nombre de celles que tu connais
dans l'environnement d'Excel, doivent être écrites comme tel avec
d'ailleurs aussi la convention Américaine p. e le point au lieu de la
virgule pour les chiffres, la virgule au lieu du point virgule pour les
séparations de paramètres.
Y'a pas à dire , c'est quand même un produit de Bill Gates qui ne me
parait pas Rwandais ou Moldave bien que ces 2 derniers soient tout à fait
honorables.
Bon courage

A+

Merci de prendre du temps pour m'expliquer !
Je ne suis pas un initié et il me faut peu de chose pour me déconcerter.

Quand j'utilise ta ligne
MaVariable=Application.worksheetfunction
et que je veux la compléter avec les fonctions excel que je connais, je
ne les trouve pas.
Par exemple SOMME(), qui n'apparait pas aprés le point. je crois
comprendre qu'elle porte un autres nom (anglais cette fois).
Naïvement j'espèrais pouvoir utiliser la même syntaxe à l'intérieur d'une
commande, mais si j'ai bien compris, cela n'existe pas.
Je vais donc me pencher sur les exemples que vous venez de me donner.
Essayé de comprendre leur fonctionnement pour pouvoir les adapter à mes
besoins.

En tout cas, Merci de ton aide !
@+
Philippe


"anonymousA" a écrit dans le message de news:
432c3585$0$20167$

ben,

c'est justement ce que je t'ai proposé ( p.e
MaVariable=Application.worksheetfunction.Average(plage) renverra la
moyenne de la plage de cellules désignée par l'objet plage ) ou
d'ailleurs ce que te proposent d'une autre manière Papou ou MichDenis en
utilisant la forme courte de Evaluate d'ailleurs.
Je ne vois pas bien le problème.

A+


Merci pour ta réponse mais je ne la comprends pas bien...

ce que je souhaite faire c'est écrire des formule toutes simple dans une
feuille de calcul pour les tester...et si elles fonctionnent, pouvoir
les lancer avec une commande (qui doit exister déjà en VBA) du style
MaVariableRésultat = run ("=somme(10;15;60)")

Ma question était : "existe-il une commande qui permet celà ?"

@mic philippe


"anonymousA" a écrit dans le message de news:
432c1c13$0$20167$


bonjour,

JOURS360 est days360 et Date est Date

pour écrire une fonction, il faut worksheetfunction. après le point du
écris ta formule in American and without the equal (=) et le tour est
joué.

A+




Bonjour à tous,

Je recherche la fonction VBA qui permet d'exécuter une formule Excel.
Exemple :
dans une feuille j'ai cette formule :
=JOURS360(DATE(2004;5;23);DATE(2008;7;12))
je voudrais la garder tel quel (puisque elle fonctionne bien) mais la
lancer à partir d'une macro.
Existe-il une tel fonction VBA ?

Merci de votre aide
Philippe