je ne comprends pas pourquoi si je copie le contenu d'une macro dans
une focntion et que dans une cellule je fait appel =E0 cette fonction,
alors j'ai une erreur !!!
Voici le code associ=E9 :
Sub myMacro1()
MsgBox ("ma macro1")
End Sub
Sub myMacro2()
Range("C15").Select
ActiveCell.FormulaR1C1 =3D "ca marche pas"
Range("C16").Select
End Sub
Function myFunc1()
Call myMacro1
End Function
Function myFunc2()
Range("C15").Select
ActiveCell.FormulaR1C1 =3D "ca marche pas"
Range("C16").Select
End Function
La question est pourquoi si dans une cellule je siaisi :
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub effectue une action ?
le pierre
je ne pense pas que ce soit seulement ca, car si je fais retourner une valeur à ma fonction c'est la meme chose. je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en VBA les appels aux objets doivent peut etre faire reference a l'espace de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub effectue une action ?
je ne pense pas que ce soit seulement ca, car si je fais retourner une
valeur à ma fonction c'est la meme chose.
je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en
VBA les appels aux objets doivent peut etre faire reference a l'espace
de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub effectue
une action ?
je ne pense pas que ce soit seulement ca, car si je fais retourner une valeur à ma fonction c'est la meme chose. je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en VBA les appels aux objets doivent peut etre faire reference a l'espace de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub effectue une action ?
papou
Bonjour Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur ! Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction() MaFonction = "Ca marche!" End Function
Cordialement Pascal
"le pierre" a écrit dans le message de news:
je ne pense pas que ce soit seulement ca, car si je fais retourner une valeur à ma fonction c'est la meme chose. je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en VBA les appels aux objets doivent peut etre faire reference a l'espace de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub effectue une action ?
Bonjour
Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur !
Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction()
MaFonction = "Ca marche!"
End Function
Cordialement
Pascal
"le pierre" <p.hirth@gmail.com> a écrit dans le message de news:
1163601994.648862.215510@e3g2000cwe.googlegroups.com...
je ne pense pas que ce soit seulement ca, car si je fais retourner une
valeur à ma fonction c'est la meme chose.
je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en
VBA les appels aux objets doivent peut etre faire reference a l'espace
de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub effectue
une action ?
Bonjour Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur ! Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction() MaFonction = "Ca marche!" End Function
Cordialement Pascal
"le pierre" a écrit dans le message de news:
je ne pense pas que ce soit seulement ca, car si je fais retourner une valeur à ma fonction c'est la meme chose. je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en VBA les appels aux objets doivent peut etre faire reference a l'espace de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub effectue une action ?
le pierre
j'ai fait comme tu dis, maintenant avec mes fonctions je retourne un entier. le pb est toujours le meme. Quand j'execute ma macro directement à partir du menu ca marche mais quand je veux executer ma macro au travers d'une fonction, ca ne marche pas !!!!!
Bonjour Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur ! Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction() MaFonction = "Ca marche!" End Function
Cordialement Pascal
"le pierre" a écrit dans le message de news:
je ne pense pas que ce soit seulement ca, car si je fais retourner une valeur à ma fonction c'est la meme chose. je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en VBA les appels aux objets doivent peut etre faire reference a l'espace de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub effec tue une action ?
j'ai fait comme tu dis, maintenant avec mes fonctions je retourne un
entier.
le pb est toujours le meme. Quand j'execute ma macro directement à
partir du menu ca marche mais quand je veux executer ma macro au
travers d'une fonction, ca ne marche pas !!!!!
Bonjour
Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur !
Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction()
MaFonction = "Ca marche!"
End Function
Cordialement
Pascal
"le pierre" <p.hirth@gmail.com> a écrit dans le message de news:
1163601994.648862.215510@e3g2000cwe.googlegroups.com...
je ne pense pas que ce soit seulement ca, car si je fais retourner une
valeur à ma fonction c'est la meme chose.
je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en
VBA les appels aux objets doivent peut etre faire reference a l'espace
de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub effec tue
une action ?
j'ai fait comme tu dis, maintenant avec mes fonctions je retourne un entier. le pb est toujours le meme. Quand j'execute ma macro directement à partir du menu ca marche mais quand je veux executer ma macro au travers d'une fonction, ca ne marche pas !!!!!
Bonjour Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur ! Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction() MaFonction = "Ca marche!" End Function
Cordialement Pascal
"le pierre" a écrit dans le message de news:
je ne pense pas que ce soit seulement ca, car si je fais retourner une valeur à ma fonction c'est la meme chose. je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en VBA les appels aux objets doivent peut etre faire reference a l'espace de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub effec tue une action ?
le pierre
en fait pour etre plus clair, la veritable question est pourquoi le code issue d'une macro, n'est pas executable au travers de l'appel d'une fonction par le bieais d'une formule.
je m'explique :
1) j'ai une macro qui m'affiche "bonjour" dans une cellule.
2) je crée une fonction qui contient le code associée à la macro et qui en plus me retourne une valeur !! pourquoi pas ?
3) j'appelle ma fonction au travers d'une formule dans une cellule.
Tout simplement, et bien la j'ai une erreur !!!!! essayez vous verez.
j'ai fait comme tu dis, maintenant avec mes fonctions je retourne un entier. le pb est toujours le meme. Quand j'execute ma macro directement à partir du menu ca marche mais quand je veux executer ma macro au travers d'une fonction, ca ne marche pas !!!!!
Bonjour Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur ! Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction() MaFonction = "Ca marche!" End Function
Cordialement Pascal
"le pierre" a écrit dans le message de news:
je ne pense pas que ce soit seulement ca, car si je fais retourner une valeur à ma fonction c'est la meme chose. je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en VBA les appels aux objets doivent peut etre faire reference a l'espace de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub eff ectue une action ?
en fait pour etre plus clair, la veritable question est pourquoi le
code issue d'une macro, n'est pas executable au travers de l'appel
d'une fonction par le bieais d'une formule.
je m'explique :
1) j'ai une macro qui m'affiche "bonjour" dans une cellule.
2) je crée une fonction qui contient le code associée à la macro et
qui en plus me retourne une valeur !! pourquoi pas ?
3) j'appelle ma fonction au travers d'une formule dans une cellule.
Tout simplement, et bien la j'ai une erreur !!!!! essayez vous verez.
j'ai fait comme tu dis, maintenant avec mes fonctions je retourne un
entier.
le pb est toujours le meme. Quand j'execute ma macro directement à
partir du menu ca marche mais quand je veux executer ma macro au
travers d'une fonction, ca ne marche pas !!!!!
Bonjour
Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur !
Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction()
MaFonction = "Ca marche!"
End Function
Cordialement
Pascal
"le pierre" <p.hirth@gmail.com> a écrit dans le message de news:
1163601994.648862.215510@e3g2000cwe.googlegroups.com...
je ne pense pas que ce soit seulement ca, car si je fais retourner une
valeur à ma fonction c'est la meme chose.
je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en
VBA les appels aux objets doivent peut etre faire reference a l'espace
de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub eff ectue
une action ?
en fait pour etre plus clair, la veritable question est pourquoi le code issue d'une macro, n'est pas executable au travers de l'appel d'une fonction par le bieais d'une formule.
je m'explique :
1) j'ai une macro qui m'affiche "bonjour" dans une cellule.
2) je crée une fonction qui contient le code associée à la macro et qui en plus me retourne une valeur !! pourquoi pas ?
3) j'appelle ma fonction au travers d'une formule dans une cellule.
Tout simplement, et bien la j'ai une erreur !!!!! essayez vous verez.
j'ai fait comme tu dis, maintenant avec mes fonctions je retourne un entier. le pb est toujours le meme. Quand j'execute ma macro directement à partir du menu ca marche mais quand je veux executer ma macro au travers d'une fonction, ca ne marche pas !!!!!
Bonjour Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur ! Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction() MaFonction = "Ca marche!" End Function
Cordialement Pascal
"le pierre" a écrit dans le message de news:
je ne pense pas que ce soit seulement ca, car si je fais retourner une valeur à ma fonction c'est la meme chose. je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en VBA les appels aux objets doivent peut etre faire reference a l'espace de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub eff ectue une action ?
papou
Le problème reste le même ! Si ta macro ne définit pas de valeur alors ça ne marchera pas. Par contre avec ça tu auras le résultat que tu souhaites : 'cette 1ère ligne à positionner en tête de module Public LaValeur
Sub Macro1() LaValeur = "Toto" End Sub
Function MaFonction() Macro1 MaFonction = LaValeur End Function
Cordialement Pascal
"le pierre" a écrit dans le message de news:
j'ai fait comme tu dis, maintenant avec mes fonctions je retourne un entier. le pb est toujours le meme. Quand j'execute ma macro directement à partir du menu ca marche mais quand je veux executer ma macro au travers d'une fonction, ca ne marche pas !!!!!
Bonjour Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur ! Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction() MaFonction = "Ca marche!" End Function
Cordialement Pascal
"le pierre" a écrit dans le message de news:
je ne pense pas que ce soit seulement ca, car si je fais retourner une valeur à ma fonction c'est la meme chose. je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en VBA les appels aux objets doivent peut etre faire reference a l'espace de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub effectue une action ?
Le problème reste le même !
Si ta macro ne définit pas de valeur alors ça ne marchera pas.
Par contre avec ça tu auras le résultat que tu souhaites :
'cette 1ère ligne à positionner en tête de module
Public LaValeur
Sub Macro1()
LaValeur = "Toto"
End Sub
Function MaFonction()
Macro1
MaFonction = LaValeur
End Function
Cordialement
Pascal
"le pierre" <p.hirth@gmail.com> a écrit dans le message de news:
1163603727.404687.292980@h54g2000cwb.googlegroups.com...
j'ai fait comme tu dis, maintenant avec mes fonctions je retourne un
entier.
le pb est toujours le meme. Quand j'execute ma macro directement à
partir du menu ca marche mais quand je veux executer ma macro au
travers d'une fonction, ca ne marche pas !!!!!
Bonjour
Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur !
Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction()
MaFonction = "Ca marche!"
End Function
Cordialement
Pascal
"le pierre" <p.hirth@gmail.com> a écrit dans le message de news:
1163601994.648862.215510@e3g2000cwe.googlegroups.com...
je ne pense pas que ce soit seulement ca, car si je fais retourner une
valeur à ma fonction c'est la meme chose.
je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en
VBA les appels aux objets doivent peut etre faire reference a l'espace
de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub
effectue
une action ?
Le problème reste le même ! Si ta macro ne définit pas de valeur alors ça ne marchera pas. Par contre avec ça tu auras le résultat que tu souhaites : 'cette 1ère ligne à positionner en tête de module Public LaValeur
Sub Macro1() LaValeur = "Toto" End Sub
Function MaFonction() Macro1 MaFonction = LaValeur End Function
Cordialement Pascal
"le pierre" a écrit dans le message de news:
j'ai fait comme tu dis, maintenant avec mes fonctions je retourne un entier. le pb est toujours le meme. Quand j'execute ma macro directement à partir du menu ca marche mais quand je veux executer ma macro au travers d'une fonction, ca ne marche pas !!!!!
Bonjour Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur ! Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction() MaFonction = "Ca marche!" End Function
Cordialement Pascal
"le pierre" a écrit dans le message de news:
je ne pense pas que ce soit seulement ca, car si je fais retourner une valeur à ma fonction c'est la meme chose. je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en VBA les appels aux objets doivent peut etre faire reference a l'espace de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub effectue une action ?
Garette
Re-bonjour,
Comme le dit papou, la fontion retourne un résultat. A l'endroit où elle est saisie. Si la fonction appelle une procédure qui se balade dans la feuille ça n'a plus de sens. Qui plus est, pour peu que la fonction soit volatile à chaque recalcul dans la feuille il y aurait une selection fantaisiste des cellules.
Ce que je comprend, c'est que les Sub executent des actions, Select, insert, etc .., les Functions font des calculs et renvoient des résultats en lieu et place où elles sont tapées. Je pense que c'est pour ça que dans ton cas ça ne fonctionne pas. Dans Insertion/Fonction je ne vois aucune fonction integrée d'Excel qui fasse ce genre de truc... Elles ne renvoient que des données
Essaye ça, colle la fonction dans une cellule puis saisis des valeurs dans d'autres cellules .... Function myFunc2() Application.Volatile MsgBox "Coucou" End Function
Re-bonjour,
Comme le dit papou, la fontion retourne un résultat.
A l'endroit où elle est saisie.
Si la fonction appelle une procédure qui se balade dans la feuille ça n'a
plus de sens.
Qui plus est, pour peu que la fonction soit volatile à chaque recalcul dans
la feuille il y aurait une selection fantaisiste des cellules.
Ce que je comprend, c'est que les Sub executent des actions, Select, insert,
etc .., les Functions font des calculs et renvoient des résultats en lieu et
place où elles sont tapées.
Je pense que c'est pour ça que dans ton cas ça ne fonctionne pas.
Dans Insertion/Fonction je ne vois aucune fonction integrée d'Excel qui
fasse ce genre de truc... Elles ne renvoient que des données
Essaye ça, colle la fonction dans une cellule puis saisis des valeurs dans
d'autres cellules ....
Function myFunc2()
Application.Volatile
MsgBox "Coucou"
End Function
Comme le dit papou, la fontion retourne un résultat. A l'endroit où elle est saisie. Si la fonction appelle une procédure qui se balade dans la feuille ça n'a plus de sens. Qui plus est, pour peu que la fonction soit volatile à chaque recalcul dans la feuille il y aurait une selection fantaisiste des cellules.
Ce que je comprend, c'est que les Sub executent des actions, Select, insert, etc .., les Functions font des calculs et renvoient des résultats en lieu et place où elles sont tapées. Je pense que c'est pour ça que dans ton cas ça ne fonctionne pas. Dans Insertion/Fonction je ne vois aucune fonction integrée d'Excel qui fasse ce genre de truc... Elles ne renvoient que des données
Essaye ça, colle la fonction dans une cellule puis saisis des valeurs dans d'autres cellules .... Function myFunc2() Application.Volatile MsgBox "Coucou" End Function
Ange Ounis
le pb est toujours le meme. Quand j'execute ma macro directement à partir du menu ca marche mais quand je veux executer ma macro au travers d'une fonction, ca ne marche pas !!!!!
Et ça ne peut pas marcher parce qu'Excel l'interdit purement et simplement, _et volontairement_ : ce n'est _pas_ un bug, c'est "by design". Une fonction n'a pas le droit d'exécuter une action (sauf rares exceptions), elle ne peut que renvoyer un résultat. C'est comme ça... Il faut apprendre à faire avec ;)
---------- Ange Ounis ----------
j'ai fait comme tu dis, maintenant avec mes fonctions je retourne un entier. le pb est toujours le meme. Quand j'execute ma macro directement à partir du menu ca marche mais quand je veux executer ma macro au travers d'une fonction, ca ne marche pas !!!!!
Bonjour Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur ! Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction() MaFonction = "Ca marche!" End Function
Cordialement Pascal
"le pierre" a écrit dans le message de news:
je ne pense pas que ce soit seulement ca, car si je fais retourner une valeur à ma fonction c'est la meme chose. je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en VBA les appels aux objets doivent peut etre faire reference a l'espace de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub effectue une action ?
le pb est toujours le meme. Quand j'execute ma macro directement à
partir du menu ca marche mais quand je veux executer ma macro au
travers d'une fonction, ca ne marche pas !!!!!
Et ça ne peut pas marcher parce qu'Excel l'interdit purement et simplement, _et
volontairement_ : ce n'est _pas_ un bug, c'est "by design". Une fonction n'a pas
le droit d'exécuter une action (sauf rares exceptions), elle ne peut que
renvoyer un résultat.
C'est comme ça... Il faut apprendre à faire avec ;)
----------
Ange Ounis
----------
j'ai fait comme tu dis, maintenant avec mes fonctions je retourne un
entier.
le pb est toujours le meme. Quand j'execute ma macro directement à
partir du menu ca marche mais quand je veux executer ma macro au
travers d'une fonction, ca ne marche pas !!!!!
Bonjour
Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur !
Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction()
MaFonction = "Ca marche!"
End Function
Cordialement
Pascal
"le pierre" <p.hirth@gmail.com> a écrit dans le message de news:
1163601994.648862.215510@e3g2000cwe.googlegroups.com...
je ne pense pas que ce soit seulement ca, car si je fais retourner une
valeur à ma fonction c'est la meme chose.
je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en
VBA les appels aux objets doivent peut etre faire reference a l'espace
de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub effectue
une action ?
le pb est toujours le meme. Quand j'execute ma macro directement à partir du menu ca marche mais quand je veux executer ma macro au travers d'une fonction, ca ne marche pas !!!!!
Et ça ne peut pas marcher parce qu'Excel l'interdit purement et simplement, _et volontairement_ : ce n'est _pas_ un bug, c'est "by design". Une fonction n'a pas le droit d'exécuter une action (sauf rares exceptions), elle ne peut que renvoyer un résultat. C'est comme ça... Il faut apprendre à faire avec ;)
---------- Ange Ounis ----------
j'ai fait comme tu dis, maintenant avec mes fonctions je retourne un entier. le pb est toujours le meme. Quand j'execute ma macro directement à partir du menu ca marche mais quand je veux executer ma macro au travers d'une fonction, ca ne marche pas !!!!!
Bonjour Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur ! Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction() MaFonction = "Ca marche!" End Function
Cordialement Pascal
"le pierre" a écrit dans le message de news:
je ne pense pas que ce soit seulement ca, car si je fais retourner une valeur à ma fonction c'est la meme chose. je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en VBA les appels aux objets doivent peut etre faire reference a l'espace de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub effectue une action ?
Ange Ounis
Petit précision : on parle bien là de fonctions persos (VBA) utilisées dans une feuille de calcul. (Dans du code VBA, une fonction peut faire exactement la même chose qu'une macro, et, en plus, renvoyer un résultat).
---------- Ange Ounis ----------
le pb est toujours le meme. Quand j'execute ma macro directement à partir du menu ca marche mais quand je veux executer ma macro au travers d'une fonction, ca ne marche pas !!!!!
Et ça ne peut pas marcher parce qu'Excel l'interdit purement et simplement, _et volontairement_ : ce n'est _pas_ un bug, c'est "by design". Une fonction n'a pas le droit d'exécuter une action (sauf rares exceptions), elle ne peut que renvoyer un résultat. C'est comme ça... Il faut apprendre à faire avec ;)
---------- Ange Ounis ----------
j'ai fait comme tu dis, maintenant avec mes fonctions je retourne un entier. le pb est toujours le meme. Quand j'execute ma macro directement à partir du menu ca marche mais quand je veux executer ma macro au travers d'une fonction, ca ne marche pas !!!!!
Bonjour Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur ! Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction() MaFonction = "Ca marche!" End Function
Cordialement Pascal
"le pierre" a écrit dans le message de news:
je ne pense pas que ce soit seulement ca, car si je fais retourner une valeur à ma fonction c'est la meme chose. je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en VBA les appels aux objets doivent peut etre faire reference a l'espace de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub effectue une action ?
Petit précision : on parle bien là de fonctions persos (VBA) utilisées dans une
feuille de calcul. (Dans du code VBA, une fonction peut faire exactement la même
chose qu'une macro, et, en plus, renvoyer un résultat).
----------
Ange Ounis
----------
le pb est toujours le meme. Quand j'execute ma macro directement à
partir du menu ca marche mais quand je veux executer ma macro au
travers d'une fonction, ca ne marche pas !!!!!
Et ça ne peut pas marcher parce qu'Excel l'interdit purement et
simplement, _et volontairement_ : ce n'est _pas_ un bug, c'est "by
design". Une fonction n'a pas le droit d'exécuter une action (sauf rares
exceptions), elle ne peut que renvoyer un résultat.
C'est comme ça... Il faut apprendre à faire avec ;)
----------
Ange Ounis
----------
j'ai fait comme tu dis, maintenant avec mes fonctions je retourne un
entier.
le pb est toujours le meme. Quand j'execute ma macro directement à
partir du menu ca marche mais quand je veux executer ma macro au
travers d'une fonction, ca ne marche pas !!!!!
Bonjour
Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur !
Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction()
MaFonction = "Ca marche!"
End Function
Cordialement
Pascal
"le pierre" <p.hirth@gmail.com> a écrit dans le message de news:
1163601994.648862.215510@e3g2000cwe.googlegroups.com...
je ne pense pas que ce soit seulement ca, car si je fais retourner une
valeur à ma fonction c'est la meme chose.
je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en
VBA les appels aux objets doivent peut etre faire reference a l'espace
de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub
effectue
une action ?
Petit précision : on parle bien là de fonctions persos (VBA) utilisées dans une feuille de calcul. (Dans du code VBA, une fonction peut faire exactement la même chose qu'une macro, et, en plus, renvoyer un résultat).
---------- Ange Ounis ----------
le pb est toujours le meme. Quand j'execute ma macro directement à partir du menu ca marche mais quand je veux executer ma macro au travers d'une fonction, ca ne marche pas !!!!!
Et ça ne peut pas marcher parce qu'Excel l'interdit purement et simplement, _et volontairement_ : ce n'est _pas_ un bug, c'est "by design". Une fonction n'a pas le droit d'exécuter une action (sauf rares exceptions), elle ne peut que renvoyer un résultat. C'est comme ça... Il faut apprendre à faire avec ;)
---------- Ange Ounis ----------
j'ai fait comme tu dis, maintenant avec mes fonctions je retourne un entier. le pb est toujours le meme. Quand j'execute ma macro directement à partir du menu ca marche mais quand je veux executer ma macro au travers d'une fonction, ca ne marche pas !!!!!
Bonjour Ta fonction ne renvoie rien parce que tu ne lui affectes aucune valeur ! Si tu souhaites qu'elle te renvoie quelque chose, essaie plutôt ceci :
Function MaFonction() MaFonction = "Ca marche!" End Function
Cordialement Pascal
"le pierre" a écrit dans le message de news:
je ne pense pas que ce soit seulement ca, car si je fais retourner une valeur à ma fonction c'est la meme chose. je pense qu'il s'agit d'une histoire d'espace de travail!!!!
En mode Macro, l'espace de travail par defaut est la page active, en VBA les appels aux objets doivent peut etre faire reference a l'espace de travail actif !!!
Bonjour,
Peut etre parce qu'une Function renvoi une valeur alors qu'un Sub effectue une action ?