J'ai des macros Excel 4 qui fonctionnent parfaitement en OS 9.
Le fonctionnement en OS X (Excel 2004) est des plus aléatoires ; par contre,
si je lance ma macro en pas à pas, elle fonctionne, de nouveau, correctement
; en l'occurrence, la macro teste une valeur sur une feuille de calcul ; en
fonctionnement normal, le résultat du test est complètement faux ; en pas à
pas, aucun pb.
Autre exemple, je lance une macro de 4 lignes :
=ACTIVATE("feuille")
=SI(SOMME(!$6:$6 !FIN) > 0 ; RETOUR())
Variable= FAUX
=RETOUR()
Si je lance cette macro, j'ai le message "Fonctions RETOUR() ou ARRETER()
introuvables sur la feuille macro" ; et pourtant, vous êtes comme moi, vous
n'avez pas la berlue !
Pas de pb en pas à pas ; enfin, presque, car si le fonctionnement est
correct, lorsque l'exécution est terminée, c'est la feuille macro qui est
activée (cochée dans le menu déroulant Fenêtres).
C'est à n'y rien comprendre.
Connaissez-vous une solution à ce pb ?
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon
adresse !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon
adresse !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel Gaboly
Bonjour,
Peux-tu donner le code de la macro que tu évoques ?
Puisque tu dis "autre exemple" avant d'indiquer tes 4 lignes de code, je suppose que la macro évoquée au début correspond à autre chose ques ces 4 lignes.
Sinon, quelques éléments :
Quand tu insères une feuille macro, il y a 2 options :
Macro intl MS Excel 4.0 Macro Microsoft Excel 4.0
Une fois la feuille créée, quelle que soit l'option choisie, le rés ultat apparaît identique.
Toutefois, la différence est immédiatement perceptible quand on essay e d'executer le code ou quand on lance la commande Insérer / Fonction...
Dans "Macro intl MS Excel 4.0", "intl" signifie "internationale". Elle es t prévue pour pouvoir fonctionner directement (ou moyennant des adaptations relativement simples) quelle que soit la la ngue de la version d'excel utilisée pour la lancer. Tous les noms de fonctions doivent être en anglais. En outre, t outes les références à des plages de cellules (sauf pour les plages nommées) doivent utiliser "R" comme "Row" pour le s lignes. Le séparateur d'arguments est la virgule.
Au contraire les "Macro Microsoft Excel 4.0" utilisent les noms de foncti ons dans la langue de la version d'Excel. Idem pour les références, où avec une version française, il faut utili ser "L" pour les lignes. Le séparateur d'arguments est en principe le point-virgule avec une version française.
Dans tes 4 lignes de code, il y a un mélange des 2 langues, cela ne peu t pas marcher ;-(((. Ce code a peut-être été obtenu en en entrant manuellement une partie en français sur une macro internationale et en le complétant en insérant une fonction (ACTIVATE() au lieu de ACTIVER()).
Si c'est le cas, le code entré manuellement a dû l'être directement en majuscules, car dans une macro internationale, une fonction en français n'étant pas reconnue n'est pas convertie aut omatiquement en majuscules.
Astuce : je te conseille de toujours entrer les fonctions en minuscules, leur non conversion en majuscules permet de repérer les fautes de frappe ou la confusion entre une macro standard o u internationale.
Tu dois avoir soit une macro standard (non internationale) avec ce code :
D'autre part, le Copier-Coller entre 2 feuilles macro de type différent entraîne la traduction du code, A CONDITION que les fonctions soient au départ dans la bonne langue :
=RETOUR() sur une feuille standard, collé sur une feuille internation ale devient RETURN()
Mais =RETOUR() sur une feuille internationale, collé sur une feuille standard reste RETOUR(), mais n'ayant pas été une fonction valide dans la feuille d'origine ne l'est pas plus dans la feuil le standard. Pour que la fonction soit reconnue, il faut cliquer dans la barre de formules, et revalider. (comme avec un nombre considéré comme texte dans une feuille de calcul).
C'est ce qui peut expliquer le message "Fonctions RETOUR() ou ARRETER() i ntrouvables sur la feuille macro", qui peut également résulter bien sûr de l'emploi de RETOUR() en français s ur une feuille macro internationale.
Le seul point surprenant dans ce que tu décris, est que du code ne marc he qu'en pas à pas.
Joyeux Noël ;-((
Bonjour et bonnes fêtes à tous !
J'ai des macros Excel 4 qui fonctionnent parfaitement en OS 9. Le fonctionnement en OS X (Excel 2004) est des plus aléatoires ; par contre, si je lance ma macro en pas à pas, elle fonctionne, de nouveau, corre ctement ; en l'occurrence, la macro teste une valeur sur une feuille de calcul ; en fonctionnement normal, le résultat du test est complètement faux ; en pas à pas, aucun pb. Autre exemple, je lance une macro de 4 lignes : TIVATE("feuille") =SI(SOMME(!$6:$6 !FIN) > 0 ; RETOUR()) Variable= FAUX =RETOUR() Si je lance cette macro, j'ai le message "Fonctions RETOUR() ou ARRETER () introuvables sur la feuille macro" ; et pourtant, vous êtes comme moi , vous n'avez pas la berlue ! Pas de pb en pas à pas ; enfin, presque, car si le fonctionnement est correct, lorsque l'exécution est terminée, c'est la feuille macro q ui est activée (cochée dans le menu déroulant Fenêtres).
C'est à n'y rien comprendre.
Connaissez-vous une solution à ce pb ?
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon adresse !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon adresse !
-- Cordialement,
Michel Gaboly www.gaboly.com
Bonjour,
Peux-tu donner le code de la macro que tu évoques ?
Puisque tu dis "autre exemple" avant d'indiquer tes 4 lignes de code, je suppose que la macro évoquée au début
correspond à autre chose ques ces 4 lignes.
Sinon, quelques éléments :
Quand tu insères une feuille macro, il y a 2 options :
Macro intl MS Excel 4.0
Macro Microsoft Excel 4.0
Une fois la feuille créée, quelle que soit l'option choisie, le rés ultat apparaît identique.
Toutefois, la différence est immédiatement perceptible quand on essay e d'executer le code ou quand on lance la commande
Insérer / Fonction...
Dans "Macro intl MS Excel 4.0", "intl" signifie "internationale". Elle es t prévue pour pouvoir fonctionner directement
(ou moyennant des adaptations relativement simples) quelle que soit la la ngue de la version d'excel utilisée pour la
lancer. Tous les noms de fonctions doivent être en anglais. En outre, t outes les références à des plages de cellules
(sauf pour les plages nommées) doivent utiliser "R" comme "Row" pour le s lignes. Le séparateur d'arguments est la virgule.
Au contraire les "Macro Microsoft Excel 4.0" utilisent les noms de foncti ons dans la langue de la version d'Excel. Idem
pour les références, où avec une version française, il faut utili ser "L" pour les lignes. Le séparateur d'arguments est
en principe le point-virgule avec une version française.
Dans tes 4 lignes de code, il y a un mélange des 2 langues, cela ne peu t pas marcher ;-(((. Ce code a peut-être été
obtenu en en entrant manuellement une partie en français sur une macro internationale et en le complétant en insérant
une fonction (ACTIVATE() au lieu de ACTIVER()).
Si c'est le cas, le code entré manuellement a dû l'être directement en majuscules, car dans une macro internationale,
une fonction en français n'étant pas reconnue n'est pas convertie aut omatiquement en majuscules.
Astuce : je te conseille de toujours entrer les fonctions en minuscules, leur non conversion en majuscules permet de
repérer les fautes de frappe ou la confusion entre une macro standard o u internationale.
Tu dois avoir soit une macro standard (non internationale) avec ce code :
D'autre part, le Copier-Coller entre 2 feuilles macro de type différent entraîne la traduction du code, A CONDITION que
les fonctions soient au départ dans la bonne langue :
=RETOUR() sur une feuille standard, collé sur une feuille internation ale devient RETURN()
Mais =RETOUR() sur une feuille internationale, collé sur une feuille standard reste RETOUR(), mais n'ayant pas été une
fonction valide dans la feuille d'origine ne l'est pas plus dans la feuil le standard. Pour que la fonction soit
reconnue, il faut cliquer dans la barre de formules, et revalider. (comme avec un nombre considéré comme texte dans une
feuille de calcul).
C'est ce qui peut expliquer le message "Fonctions RETOUR() ou ARRETER() i ntrouvables sur la feuille macro", qui peut
également résulter bien sûr de l'emploi de RETOUR() en français s ur une feuille macro internationale.
Le seul point surprenant dans ce que tu décris, est que du code ne marc he qu'en pas à pas.
Joyeux Noël ;-((
Bonjour et bonnes fêtes à tous !
J'ai des macros Excel 4 qui fonctionnent parfaitement en OS 9.
Le fonctionnement en OS X (Excel 2004) est des plus aléatoires ; par contre,
si je lance ma macro en pas à pas, elle fonctionne, de nouveau, corre ctement
; en l'occurrence, la macro teste une valeur sur une feuille de calcul ; en
fonctionnement normal, le résultat du test est complètement faux ; en pas à
pas, aucun pb.
Autre exemple, je lance une macro de 4 lignes :
=ACTIVATE("feuille")
=SI(SOMME(!$6:$6 !FIN) > 0 ; RETOUR())
Variable= FAUX
=RETOUR()
Si je lance cette macro, j'ai le message "Fonctions RETOUR() ou ARRETER ()
introuvables sur la feuille macro" ; et pourtant, vous êtes comme moi , vous
n'avez pas la berlue !
Pas de pb en pas à pas ; enfin, presque, car si le fonctionnement est
correct, lorsque l'exécution est terminée, c'est la feuille macro q ui est
activée (cochée dans le menu déroulant Fenêtres).
C'est à n'y rien comprendre.
Connaissez-vous une solution à ce pb ?
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon
adresse !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon
adresse !
Peux-tu donner le code de la macro que tu évoques ?
Puisque tu dis "autre exemple" avant d'indiquer tes 4 lignes de code, je suppose que la macro évoquée au début correspond à autre chose ques ces 4 lignes.
Sinon, quelques éléments :
Quand tu insères une feuille macro, il y a 2 options :
Macro intl MS Excel 4.0 Macro Microsoft Excel 4.0
Une fois la feuille créée, quelle que soit l'option choisie, le rés ultat apparaît identique.
Toutefois, la différence est immédiatement perceptible quand on essay e d'executer le code ou quand on lance la commande Insérer / Fonction...
Dans "Macro intl MS Excel 4.0", "intl" signifie "internationale". Elle es t prévue pour pouvoir fonctionner directement (ou moyennant des adaptations relativement simples) quelle que soit la la ngue de la version d'excel utilisée pour la lancer. Tous les noms de fonctions doivent être en anglais. En outre, t outes les références à des plages de cellules (sauf pour les plages nommées) doivent utiliser "R" comme "Row" pour le s lignes. Le séparateur d'arguments est la virgule.
Au contraire les "Macro Microsoft Excel 4.0" utilisent les noms de foncti ons dans la langue de la version d'Excel. Idem pour les références, où avec une version française, il faut utili ser "L" pour les lignes. Le séparateur d'arguments est en principe le point-virgule avec une version française.
Dans tes 4 lignes de code, il y a un mélange des 2 langues, cela ne peu t pas marcher ;-(((. Ce code a peut-être été obtenu en en entrant manuellement une partie en français sur une macro internationale et en le complétant en insérant une fonction (ACTIVATE() au lieu de ACTIVER()).
Si c'est le cas, le code entré manuellement a dû l'être directement en majuscules, car dans une macro internationale, une fonction en français n'étant pas reconnue n'est pas convertie aut omatiquement en majuscules.
Astuce : je te conseille de toujours entrer les fonctions en minuscules, leur non conversion en majuscules permet de repérer les fautes de frappe ou la confusion entre une macro standard o u internationale.
Tu dois avoir soit une macro standard (non internationale) avec ce code :
D'autre part, le Copier-Coller entre 2 feuilles macro de type différent entraîne la traduction du code, A CONDITION que les fonctions soient au départ dans la bonne langue :
=RETOUR() sur une feuille standard, collé sur une feuille internation ale devient RETURN()
Mais =RETOUR() sur une feuille internationale, collé sur une feuille standard reste RETOUR(), mais n'ayant pas été une fonction valide dans la feuille d'origine ne l'est pas plus dans la feuil le standard. Pour que la fonction soit reconnue, il faut cliquer dans la barre de formules, et revalider. (comme avec un nombre considéré comme texte dans une feuille de calcul).
C'est ce qui peut expliquer le message "Fonctions RETOUR() ou ARRETER() i ntrouvables sur la feuille macro", qui peut également résulter bien sûr de l'emploi de RETOUR() en français s ur une feuille macro internationale.
Le seul point surprenant dans ce que tu décris, est que du code ne marc he qu'en pas à pas.
Joyeux Noël ;-((
Bonjour et bonnes fêtes à tous !
J'ai des macros Excel 4 qui fonctionnent parfaitement en OS 9. Le fonctionnement en OS X (Excel 2004) est des plus aléatoires ; par contre, si je lance ma macro en pas à pas, elle fonctionne, de nouveau, corre ctement ; en l'occurrence, la macro teste une valeur sur une feuille de calcul ; en fonctionnement normal, le résultat du test est complètement faux ; en pas à pas, aucun pb. Autre exemple, je lance une macro de 4 lignes : TIVATE("feuille") =SI(SOMME(!$6:$6 !FIN) > 0 ; RETOUR()) Variable= FAUX =RETOUR() Si je lance cette macro, j'ai le message "Fonctions RETOUR() ou ARRETER () introuvables sur la feuille macro" ; et pourtant, vous êtes comme moi , vous n'avez pas la berlue ! Pas de pb en pas à pas ; enfin, presque, car si le fonctionnement est correct, lorsque l'exécution est terminée, c'est la feuille macro q ui est activée (cochée dans le menu déroulant Fenêtres).
C'est à n'y rien comprendre.
Connaissez-vous une solution à ce pb ?
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon adresse !
Georges
Note : Pour m¹écrire directement, supprimer un des deux tirets dans mon adresse !