J'avais publié un message sur ce fil mais il ne s'est jamais affiché (au moins chez moi)
En voici une variante...
| Le code VBA fonctionne bien sous excel 2007, puisque ce programme accepte de
| tourner une première fois et enregistre à un moment le fameux fichier sans
| probleme sous un nouveau nom via du code VBA.
**** Habituellement, lorsque tu ouvres un fichier d'une version antérieure,
Excel 2007 ouvre le fichier en mode compatibitlité c'est à dire que les
caractéristiques propres à excel 2007 ne sont pas accessibles.
**** Le fichier devient vraiment un fichier 2007 lorsque tu l'as enregistré
avec une extexions xlsx ou xlsm. De plus, suite àl'enregistrement, le fichier
doit être fermé et rouvert. Ce n'est qu'à ce moment que le fichier est
vraiment un fichier version 2007. Et là, tu dis que cela ne fonctionne plus !
À ma grande surprise, dans un classeur 2003, j'ai choisi au hasard quelques
formules émanant de l'utilitaire d'analyse et je l'ai inséré dans une feuille
de calcul pour mener un petit test. Utilisation très standard. J'ai enregistré
le fichier sous la version Excel 2003. Voici les fonctions utilisées.
No.Semaine() , Arrondi.au.Multiple() , Fin.Mois(), Serie.jour.ouvre()
Alea.Entre.Bornes()
Dans un second temps, j'ai ouvert le classeur et sans intervenir dans le fichier
je l'ai simplement enregistré sous Excel 2007 avec une extension xlsm ou xlsx.
J'ai refermé le classeur sans intervenir dans ce dernier et je l'ai ouvert à nouveau.
Là, j'avais vraiment un fichier 2007. Et bien à ma grande surprise, toutes ces
formules de l'utilitaire d'analyse version antérieur d'excel fonctionne très bien.
Pas besoin de passer les cellules contenant ces formules en mode édition pour
qu'elles reprennent leur aplomb. (il est encore très tôt heure du Québec ce matin
il y possible que je sois sous l'influence d'un rêve !!! )
"Sophie" a écrit dans le message de groupe de
discussion :
Bonjour,
J'ai un gros programme VBA développé sous Excel 5 à l'origine, réenregistré
sous excel 2003.
A l'ouverture d'un des fichiers du programme sous excel 2007, j'ai erreur
fichier, risque de perte de données et en effet, il me supprime plein de
formules de calculs et les remplace par #N/A.
Existe-t-il une solution?
Merci d'avance.
J'avais publié un message sur ce fil mais il ne s'est jamais affiché (au moins chez moi)
En voici une variante...
| Le code VBA fonctionne bien sous excel 2007, puisque ce programme accepte de
| tourner une première fois et enregistre à un moment le fameux fichier sans
| probleme sous un nouveau nom via du code VBA.
**** Habituellement, lorsque tu ouvres un fichier d'une version antérieure,
Excel 2007 ouvre le fichier en mode compatibitlité c'est à dire que les
caractéristiques propres à excel 2007 ne sont pas accessibles.
**** Le fichier devient vraiment un fichier 2007 lorsque tu l'as enregistré
avec une extexions xlsx ou xlsm. De plus, suite àl'enregistrement, le fichier
doit être fermé et rouvert. Ce n'est qu'à ce moment que le fichier est
vraiment un fichier version 2007. Et là, tu dis que cela ne fonctionne plus !
À ma grande surprise, dans un classeur 2003, j'ai choisi au hasard quelques
formules émanant de l'utilitaire d'analyse et je l'ai inséré dans une feuille
de calcul pour mener un petit test. Utilisation très standard. J'ai enregistré
le fichier sous la version Excel 2003. Voici les fonctions utilisées.
No.Semaine() , Arrondi.au.Multiple() , Fin.Mois(), Serie.jour.ouvre()
Alea.Entre.Bornes()
Dans un second temps, j'ai ouvert le classeur et sans intervenir dans le fichier
je l'ai simplement enregistré sous Excel 2007 avec une extension xlsm ou xlsx.
J'ai refermé le classeur sans intervenir dans ce dernier et je l'ai ouvert à nouveau.
Là, j'avais vraiment un fichier 2007. Et bien à ma grande surprise, toutes ces
formules de l'utilitaire d'analyse version antérieur d'excel fonctionne très bien.
Pas besoin de passer les cellules contenant ces formules en mode édition pour
qu'elles reprennent leur aplomb. (il est encore très tôt heure du Québec ce matin
il y possible que je sois sous l'influence d'un rêve !!! )
"Sophie" <Sophie@discussions.microsoft.com> a écrit dans le message de groupe de
discussion : D38B5403-7E8D-42FD-904A-30C4D2398F8C@microsoft.com...
Bonjour,
J'ai un gros programme VBA développé sous Excel 5 à l'origine, réenregistré
sous excel 2003.
A l'ouverture d'un des fichiers du programme sous excel 2007, j'ai erreur
fichier, risque de perte de données et en effet, il me supprime plein de
formules de calculs et les remplace par #N/A.
Existe-t-il une solution?
Merci d'avance.
J'avais publié un message sur ce fil mais il ne s'est jamais affiché (au moins chez moi)
En voici une variante...
| Le code VBA fonctionne bien sous excel 2007, puisque ce programme accepte de
| tourner une première fois et enregistre à un moment le fameux fichier sans
| probleme sous un nouveau nom via du code VBA.
**** Habituellement, lorsque tu ouvres un fichier d'une version antérieure,
Excel 2007 ouvre le fichier en mode compatibitlité c'est à dire que les
caractéristiques propres à excel 2007 ne sont pas accessibles.
**** Le fichier devient vraiment un fichier 2007 lorsque tu l'as enregistré
avec une extexions xlsx ou xlsm. De plus, suite àl'enregistrement, le fichier
doit être fermé et rouvert. Ce n'est qu'à ce moment que le fichier est
vraiment un fichier version 2007. Et là, tu dis que cela ne fonctionne plus !
À ma grande surprise, dans un classeur 2003, j'ai choisi au hasard quelques
formules émanant de l'utilitaire d'analyse et je l'ai inséré dans une feuille
de calcul pour mener un petit test. Utilisation très standard. J'ai enregistré
le fichier sous la version Excel 2003. Voici les fonctions utilisées.
No.Semaine() , Arrondi.au.Multiple() , Fin.Mois(), Serie.jour.ouvre()
Alea.Entre.Bornes()
Dans un second temps, j'ai ouvert le classeur et sans intervenir dans le fichier
je l'ai simplement enregistré sous Excel 2007 avec une extension xlsm ou xlsx.
J'ai refermé le classeur sans intervenir dans ce dernier et je l'ai ouvert à nouveau.
Là, j'avais vraiment un fichier 2007. Et bien à ma grande surprise, toutes ces
formules de l'utilitaire d'analyse version antérieur d'excel fonctionne très bien.
Pas besoin de passer les cellules contenant ces formules en mode édition pour
qu'elles reprennent leur aplomb. (il est encore très tôt heure du Québec ce matin
il y possible que je sois sous l'influence d'un rêve !!! )
"Sophie" a écrit dans le message de groupe de
discussion :
Bonjour,
J'ai un gros programme VBA développé sous Excel 5 à l'origine, réenregistré
sous excel 2003.
A l'ouverture d'un des fichiers du programme sous excel 2007, j'ai erreur
fichier, risque de perte de données et en effet, il me supprime plein de
formules de calculs et les remplace par #N/A.
Existe-t-il une solution?
Merci d'avance.
J'ai aussi plein de formules de calculs qui font références aux fichiers
externes en .xls.
J'ai aussi plein de formules de calculs qui font références aux fichiers
externes en .xls.
J'ai aussi plein de formules de calculs qui font références aux fichiers
externes en .xls.
J'avais publié un message sur ce fil mais il ne s'est jamais affiché (au moins chez moi)
En voici une variante...
| Le code VBA fonctionne bien sous excel 2007, puisque ce programme accepte de
| tourner une première fois et enregistre à un moment le fameux fichier sans
| probleme sous un nouveau nom via du code VBA.
**** Habituellement, lorsque tu ouvres un fichier d'une version antérieure,
Excel 2007 ouvre le fichier en mode compatibitlité c'est à dire que les
caractéristiques propres à excel 2007 ne sont pas accessibles.
**** Le fichier devient vraiment un fichier 2007 lorsque tu l'as enregistré
avec une extexions xlsx ou xlsm. De plus, suite àl'enregistrement, le fichier
doit être fermé et rouvert. Ce n'est qu'à ce moment que le fichier est
vraiment un fichier version 2007. Et là, tu dis que cela ne fonctionne plus !
À ma grande surprise, dans un classeur 2003, j'ai choisi au hasard quelques
formules émanant de l'utilitaire d'analyse et je l'ai inséré dans une feuille
de calcul pour mener un petit test. Utilisation très standard. J'ai enregistré
le fichier sous la version Excel 2003. Voici les fonctions utilisées.
No.Semaine() , Arrondi.au.Multiple() , Fin.Mois(), Serie.jour.ouvre()
Alea.Entre.Bornes()
Dans un second temps, j'ai ouvert le classeur et sans intervenir dans le fichier
je l'ai simplement enregistré sous Excel 2007 avec une extension xlsm ou xlsx.
J'ai refermé le classeur sans intervenir dans ce dernier et je l'ai ouvert à nouveau.
Là, j'avais vraiment un fichier 2007. Et bien à ma grande surprise, toutes ces
formules de l'utilitaire d'analyse version antérieur d'excel fonctionne très bien.
Pas besoin de passer les cellules contenant ces formules en mode édition pour
qu'elles reprennent leur aplomb. (il est encore très tôt heure du Québec ce matin
il y possible que je sois sous l'influence d'un rêve !!! )
"Sophie" a écrit dans le message de groupe de
discussion :
Bonjour,
J'ai un gros programme VBA développé sous Excel 5 à l'origine, réenregistré
sous excel 2003.
A l'ouverture d'un des fichiers du programme sous excel 2007, j'ai erreur
fichier, risque de perte de données et en effet, il me supprime plein de
formules de calculs et les remplace par #N/A.
Existe-t-il une solution?
Merci d'avance.
J'avais publié un message sur ce fil mais il ne s'est jamais affiché (au moins chez moi)
En voici une variante...
| Le code VBA fonctionne bien sous excel 2007, puisque ce programme accepte de
| tourner une première fois et enregistre à un moment le fameux fichier sans
| probleme sous un nouveau nom via du code VBA.
**** Habituellement, lorsque tu ouvres un fichier d'une version antérieure,
Excel 2007 ouvre le fichier en mode compatibitlité c'est à dire que les
caractéristiques propres à excel 2007 ne sont pas accessibles.
**** Le fichier devient vraiment un fichier 2007 lorsque tu l'as enregistré
avec une extexions xlsx ou xlsm. De plus, suite àl'enregistrement, le fichier
doit être fermé et rouvert. Ce n'est qu'à ce moment que le fichier est
vraiment un fichier version 2007. Et là, tu dis que cela ne fonctionne plus !
À ma grande surprise, dans un classeur 2003, j'ai choisi au hasard quelques
formules émanant de l'utilitaire d'analyse et je l'ai inséré dans une feuille
de calcul pour mener un petit test. Utilisation très standard. J'ai enregistré
le fichier sous la version Excel 2003. Voici les fonctions utilisées.
No.Semaine() , Arrondi.au.Multiple() , Fin.Mois(), Serie.jour.ouvre()
Alea.Entre.Bornes()
Dans un second temps, j'ai ouvert le classeur et sans intervenir dans le fichier
je l'ai simplement enregistré sous Excel 2007 avec une extension xlsm ou xlsx.
J'ai refermé le classeur sans intervenir dans ce dernier et je l'ai ouvert à nouveau.
Là, j'avais vraiment un fichier 2007. Et bien à ma grande surprise, toutes ces
formules de l'utilitaire d'analyse version antérieur d'excel fonctionne très bien.
Pas besoin de passer les cellules contenant ces formules en mode édition pour
qu'elles reprennent leur aplomb. (il est encore très tôt heure du Québec ce matin
il y possible que je sois sous l'influence d'un rêve !!! )
"Sophie" <Sophie@discussions.microsoft.com> a écrit dans le message de groupe de
discussion : D38B5403-7E8D-42FD-904A-30C4D2398F8C@microsoft.com...
Bonjour,
J'ai un gros programme VBA développé sous Excel 5 à l'origine, réenregistré
sous excel 2003.
A l'ouverture d'un des fichiers du programme sous excel 2007, j'ai erreur
fichier, risque de perte de données et en effet, il me supprime plein de
formules de calculs et les remplace par #N/A.
Existe-t-il une solution?
Merci d'avance.
J'avais publié un message sur ce fil mais il ne s'est jamais affiché (au moins chez moi)
En voici une variante...
| Le code VBA fonctionne bien sous excel 2007, puisque ce programme accepte de
| tourner une première fois et enregistre à un moment le fameux fichier sans
| probleme sous un nouveau nom via du code VBA.
**** Habituellement, lorsque tu ouvres un fichier d'une version antérieure,
Excel 2007 ouvre le fichier en mode compatibitlité c'est à dire que les
caractéristiques propres à excel 2007 ne sont pas accessibles.
**** Le fichier devient vraiment un fichier 2007 lorsque tu l'as enregistré
avec une extexions xlsx ou xlsm. De plus, suite àl'enregistrement, le fichier
doit être fermé et rouvert. Ce n'est qu'à ce moment que le fichier est
vraiment un fichier version 2007. Et là, tu dis que cela ne fonctionne plus !
À ma grande surprise, dans un classeur 2003, j'ai choisi au hasard quelques
formules émanant de l'utilitaire d'analyse et je l'ai inséré dans une feuille
de calcul pour mener un petit test. Utilisation très standard. J'ai enregistré
le fichier sous la version Excel 2003. Voici les fonctions utilisées.
No.Semaine() , Arrondi.au.Multiple() , Fin.Mois(), Serie.jour.ouvre()
Alea.Entre.Bornes()
Dans un second temps, j'ai ouvert le classeur et sans intervenir dans le fichier
je l'ai simplement enregistré sous Excel 2007 avec une extension xlsm ou xlsx.
J'ai refermé le classeur sans intervenir dans ce dernier et je l'ai ouvert à nouveau.
Là, j'avais vraiment un fichier 2007. Et bien à ma grande surprise, toutes ces
formules de l'utilitaire d'analyse version antérieur d'excel fonctionne très bien.
Pas besoin de passer les cellules contenant ces formules en mode édition pour
qu'elles reprennent leur aplomb. (il est encore très tôt heure du Québec ce matin
il y possible que je sois sous l'influence d'un rêve !!! )
"Sophie" a écrit dans le message de groupe de
discussion :
Bonjour,
J'ai un gros programme VBA développé sous Excel 5 à l'origine, réenregistré
sous excel 2003.
A l'ouverture d'un des fichiers du programme sous excel 2007, j'ai erreur
fichier, risque de perte de données et en effet, il me supprime plein de
formules de calculs et les remplace par #N/A.
Existe-t-il une solution?
Merci d'avance.
Je reconnais là le côté "diablesse" de notre mi-ange ! ;-))
Perso, je reconnais à tort avoir énoncé dans des messages précédents
que lorsque l'on passait d'une version Excel 2003 et Excel 2007, il
fallait dans Excel 2007 passer chacune des cellules en mode édition
pour qu'excel 2007 soit en mesure de "comprendre" la fonction inscrite.
À ma plus grande honte (Je beurre épais sur ce coup ;-) ), j'étais dans
l'erreur et mon message précédent remet les pendules à l'heure.
Ceci étant dit, seulement 39 fonctions de la macro complémentaire
d'analyse ont été ajoutées à excel 2007 comme fonction de base. Mais
cette macro complémentaire existe encore et on peut encore l'ajouter
pour accéder au reste des fonctions qu'elle contient.
(Gros bouton office en haut à l'extrême gauche de l'application /
Options Excel / Compléments / bas de la fenêtre / Gérer : Compléments Excel /
bouton atteindre)
Attention la fonction EoMonth() n'appartient pas à la macro complémentaire
d'analyse mais bien à la macro complémentaire d'analyse VBA. Lorsque cette
dernière est cochée, le fichier responsable de cette dernière est chargé sous
excel 2003
Project atpvbaen.xls
C:Program FilesMicrosoft OfficeOFFICE11BibliothèqueAnalyseATPVBAEN.XLA
Cela nous donne accès à toutes les fonctions que ce fichier possède directement dans
la feuille. Cependant, ces dernières ne font pas parti de la liste initiale disponible
lorsque
l'on clique sur le "crochet" pour appeler la fenêtre des fonctions pour effectuer son
choix.
Cependant, il est facile de se laisser berner car si on connaît par coeur une fonction en
anglais comme EoMonth() et qu'on l'utilise dans une feuille, cette fonction s'ajoutera
d'elle-même dans la liste des fonctions disponibles pour le choix subséquent. Une
différence
existe cependant car si nous retenons la version anglaise dans la liste qui nous est
présenté
nous n'aurons pas droit aux explications des paramètres comme c'est le cas en français.
Après cette brève introduction, tous (ou presque) savent qu'excel sous les versions
précédentes
à excel 2007, ne font pas la traduction des fonctions d'une langue à l'autre lorsqu'elles
émanent
de la macro complémentaire utilitaire d'analyse. Ceci est vrai pour toutes les langues. À
cause
de la macro complémentaire d'analyse VBA (qui elle fut écrite pour être utilisé en VBA ,
donc en
anglais, ceci pour nous laisser l'impression que c'est différent pour le Français et
l'anglais.
J'arrête ici... je veux m'en garder un peu pour mon livre !!!!
;-)))
"Misange" a écrit dans le message de groupe de discussion :
Salut Denis
Ce que tu constates est tout à fait normal et le problème se produit en
fait dans l'autre sens.
Prends un classeur 2007, écris = fin.mois(..). Enregistre le en format
2007. Si tu le passes à quelqu'un travaillant sous une autre langue, pas
de problème, la fonction fin.mois qui est codée "en langage machine est
traduite dans la langue de ton utilisateur.
Maintenant enregistre le même classeur en format compatible 97-2003.
Il n'y a que les anglophones qui l'ouvriront sans problème ! tous les
autres verront une valeur d'erreur car la formule devient =eomonth() qui
n'est pas comprise par excel en version non anglophone...
Donc, soit tu recodes tous tes classeurs en te passant des fonctions de
l'utilitaire d'analyse et de cette manière, tu peux enregistrer en
format compatible et garder l'extension xls. Soit tu ne recodes rien et
tu enregistres en format 2007 et ça roule impec tant que tu restes dans
2007 (sauf effectivement dans le cas présent à devoir changer les
extensions xls en xlsm dans tout le code vba).
Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur excel !
MichDenis a écrit :J'avais publié un message sur ce fil mais il ne s'est jamais affiché (au moins chez moi)
En voici une variante...
| Le code VBA fonctionne bien sous excel 2007, puisque ce programme accepte de
| tourner une première fois et enregistre à un moment le fameux fichier sans
| probleme sous un nouveau nom via du code VBA.
**** Habituellement, lorsque tu ouvres un fichier d'une version antérieure,
Excel 2007 ouvre le fichier en mode compatibitlité c'est à dire que les
caractéristiques propres à excel 2007 ne sont pas accessibles.
**** Le fichier devient vraiment un fichier 2007 lorsque tu l'as enregistré
avec une extexions xlsx ou xlsm. De plus, suite àl'enregistrement, le fichier
doit être fermé et rouvert. Ce n'est qu'à ce moment que le fichier est
vraiment un fichier version 2007. Et là, tu dis que cela ne fonctionne plus !
À ma grande surprise, dans un classeur 2003, j'ai choisi au hasard quelques
formules émanant de l'utilitaire d'analyse et je l'ai inséré dans une feuille
de calcul pour mener un petit test. Utilisation très standard. J'ai enregistré
le fichier sous la version Excel 2003. Voici les fonctions utilisées.
No.Semaine() , Arrondi.au.Multiple() , Fin.Mois(), Serie.jour.ouvre()
Alea.Entre.Bornes()
Dans un second temps, j'ai ouvert le classeur et sans intervenir dans le fichier
je l'ai simplement enregistré sous Excel 2007 avec une extension xlsm ou xlsx.
J'ai refermé le classeur sans intervenir dans ce dernier et je l'ai ouvert à nouveau.
Là, j'avais vraiment un fichier 2007. Et bien à ma grande surprise, toutes ces
formules de l'utilitaire d'analyse version antérieur d'excel fonctionne très bien.
Pas besoin de passer les cellules contenant ces formules en mode édition pour
qu'elles reprennent leur aplomb. (il est encore très tôt heure du Québec ce matin
il y possible que je sois sous l'influence d'un rêve !!! )
"Sophie" a écrit dans le message de groupe de
discussion :
Bonjour,
J'ai un gros programme VBA développé sous Excel 5 à l'origine, réenregistré
sous excel 2003.
A l'ouverture d'un des fichiers du programme sous excel 2007, j'ai erreur
fichier, risque de perte de données et en effet, il me supprime plein de
formules de calculs et les remplace par #N/A.
Existe-t-il une solution?
Merci d'avance.
Je reconnais là le côté "diablesse" de notre mi-ange ! ;-))
Perso, je reconnais à tort avoir énoncé dans des messages précédents
que lorsque l'on passait d'une version Excel 2003 et Excel 2007, il
fallait dans Excel 2007 passer chacune des cellules en mode édition
pour qu'excel 2007 soit en mesure de "comprendre" la fonction inscrite.
À ma plus grande honte (Je beurre épais sur ce coup ;-) ), j'étais dans
l'erreur et mon message précédent remet les pendules à l'heure.
Ceci étant dit, seulement 39 fonctions de la macro complémentaire
d'analyse ont été ajoutées à excel 2007 comme fonction de base. Mais
cette macro complémentaire existe encore et on peut encore l'ajouter
pour accéder au reste des fonctions qu'elle contient.
(Gros bouton office en haut à l'extrême gauche de l'application /
Options Excel / Compléments / bas de la fenêtre / Gérer : Compléments Excel /
bouton atteindre)
Attention la fonction EoMonth() n'appartient pas à la macro complémentaire
d'analyse mais bien à la macro complémentaire d'analyse VBA. Lorsque cette
dernière est cochée, le fichier responsable de cette dernière est chargé sous
excel 2003
Project atpvbaen.xls
C:Program FilesMicrosoft OfficeOFFICE11BibliothèqueAnalyseATPVBAEN.XLA
Cela nous donne accès à toutes les fonctions que ce fichier possède directement dans
la feuille. Cependant, ces dernières ne font pas parti de la liste initiale disponible
lorsque
l'on clique sur le "crochet" pour appeler la fenêtre des fonctions pour effectuer son
choix.
Cependant, il est facile de se laisser berner car si on connaît par coeur une fonction en
anglais comme EoMonth() et qu'on l'utilise dans une feuille, cette fonction s'ajoutera
d'elle-même dans la liste des fonctions disponibles pour le choix subséquent. Une
différence
existe cependant car si nous retenons la version anglaise dans la liste qui nous est
présenté
nous n'aurons pas droit aux explications des paramètres comme c'est le cas en français.
Après cette brève introduction, tous (ou presque) savent qu'excel sous les versions
précédentes
à excel 2007, ne font pas la traduction des fonctions d'une langue à l'autre lorsqu'elles
émanent
de la macro complémentaire utilitaire d'analyse. Ceci est vrai pour toutes les langues. À
cause
de la macro complémentaire d'analyse VBA (qui elle fut écrite pour être utilisé en VBA ,
donc en
anglais, ceci pour nous laisser l'impression que c'est différent pour le Français et
l'anglais.
J'arrête ici... je veux m'en garder un peu pour mon livre !!!!
;-)))
"Misange" <misange@monsite.net> a écrit dans le message de groupe de discussion :
OHZMExtrJHA.1236@TK2MSFTNGP02.phx.gbl...
Salut Denis
Ce que tu constates est tout à fait normal et le problème se produit en
fait dans l'autre sens.
Prends un classeur 2007, écris = fin.mois(..). Enregistre le en format
2007. Si tu le passes à quelqu'un travaillant sous une autre langue, pas
de problème, la fonction fin.mois qui est codée "en langage machine est
traduite dans la langue de ton utilisateur.
Maintenant enregistre le même classeur en format compatible 97-2003.
Il n'y a que les anglophones qui l'ouvriront sans problème ! tous les
autres verront une valeur d'erreur car la formule devient =eomonth() qui
n'est pas comprise par excel en version non anglophone...
Donc, soit tu recodes tous tes classeurs en te passant des fonctions de
l'utilitaire d'analyse et de cette manière, tu peux enregistrer en
format compatible et garder l'extension xls. Soit tu ne recodes rien et
tu enregistres en format 2007 et ça roule impec tant que tu restes dans
2007 (sauf effectivement dans le cas présent à devoir changer les
extensions xls en xlsm dans tout le code vba).
Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur excel !
MichDenis a écrit :
J'avais publié un message sur ce fil mais il ne s'est jamais affiché (au moins chez moi)
En voici une variante...
| Le code VBA fonctionne bien sous excel 2007, puisque ce programme accepte de
| tourner une première fois et enregistre à un moment le fameux fichier sans
| probleme sous un nouveau nom via du code VBA.
**** Habituellement, lorsque tu ouvres un fichier d'une version antérieure,
Excel 2007 ouvre le fichier en mode compatibitlité c'est à dire que les
caractéristiques propres à excel 2007 ne sont pas accessibles.
**** Le fichier devient vraiment un fichier 2007 lorsque tu l'as enregistré
avec une extexions xlsx ou xlsm. De plus, suite àl'enregistrement, le fichier
doit être fermé et rouvert. Ce n'est qu'à ce moment que le fichier est
vraiment un fichier version 2007. Et là, tu dis que cela ne fonctionne plus !
À ma grande surprise, dans un classeur 2003, j'ai choisi au hasard quelques
formules émanant de l'utilitaire d'analyse et je l'ai inséré dans une feuille
de calcul pour mener un petit test. Utilisation très standard. J'ai enregistré
le fichier sous la version Excel 2003. Voici les fonctions utilisées.
No.Semaine() , Arrondi.au.Multiple() , Fin.Mois(), Serie.jour.ouvre()
Alea.Entre.Bornes()
Dans un second temps, j'ai ouvert le classeur et sans intervenir dans le fichier
je l'ai simplement enregistré sous Excel 2007 avec une extension xlsm ou xlsx.
J'ai refermé le classeur sans intervenir dans ce dernier et je l'ai ouvert à nouveau.
Là, j'avais vraiment un fichier 2007. Et bien à ma grande surprise, toutes ces
formules de l'utilitaire d'analyse version antérieur d'excel fonctionne très bien.
Pas besoin de passer les cellules contenant ces formules en mode édition pour
qu'elles reprennent leur aplomb. (il est encore très tôt heure du Québec ce matin
il y possible que je sois sous l'influence d'un rêve !!! )
"Sophie" <Sophie@discussions.microsoft.com> a écrit dans le message de groupe de
discussion : D38B5403-7E8D-42FD-904A-30C4D2398F8C@microsoft.com...
Bonjour,
J'ai un gros programme VBA développé sous Excel 5 à l'origine, réenregistré
sous excel 2003.
A l'ouverture d'un des fichiers du programme sous excel 2007, j'ai erreur
fichier, risque de perte de données et en effet, il me supprime plein de
formules de calculs et les remplace par #N/A.
Existe-t-il une solution?
Merci d'avance.
Je reconnais là le côté "diablesse" de notre mi-ange ! ;-))
Perso, je reconnais à tort avoir énoncé dans des messages précédents
que lorsque l'on passait d'une version Excel 2003 et Excel 2007, il
fallait dans Excel 2007 passer chacune des cellules en mode édition
pour qu'excel 2007 soit en mesure de "comprendre" la fonction inscrite.
À ma plus grande honte (Je beurre épais sur ce coup ;-) ), j'étais dans
l'erreur et mon message précédent remet les pendules à l'heure.
Ceci étant dit, seulement 39 fonctions de la macro complémentaire
d'analyse ont été ajoutées à excel 2007 comme fonction de base. Mais
cette macro complémentaire existe encore et on peut encore l'ajouter
pour accéder au reste des fonctions qu'elle contient.
(Gros bouton office en haut à l'extrême gauche de l'application /
Options Excel / Compléments / bas de la fenêtre / Gérer : Compléments Excel /
bouton atteindre)
Attention la fonction EoMonth() n'appartient pas à la macro complémentaire
d'analyse mais bien à la macro complémentaire d'analyse VBA. Lorsque cette
dernière est cochée, le fichier responsable de cette dernière est chargé sous
excel 2003
Project atpvbaen.xls
C:Program FilesMicrosoft OfficeOFFICE11BibliothèqueAnalyseATPVBAEN.XLA
Cela nous donne accès à toutes les fonctions que ce fichier possède directement dans
la feuille. Cependant, ces dernières ne font pas parti de la liste initiale disponible
lorsque
l'on clique sur le "crochet" pour appeler la fenêtre des fonctions pour effectuer son
choix.
Cependant, il est facile de se laisser berner car si on connaît par coeur une fonction en
anglais comme EoMonth() et qu'on l'utilise dans une feuille, cette fonction s'ajoutera
d'elle-même dans la liste des fonctions disponibles pour le choix subséquent. Une
différence
existe cependant car si nous retenons la version anglaise dans la liste qui nous est
présenté
nous n'aurons pas droit aux explications des paramètres comme c'est le cas en français.
Après cette brève introduction, tous (ou presque) savent qu'excel sous les versions
précédentes
à excel 2007, ne font pas la traduction des fonctions d'une langue à l'autre lorsqu'elles
émanent
de la macro complémentaire utilitaire d'analyse. Ceci est vrai pour toutes les langues. À
cause
de la macro complémentaire d'analyse VBA (qui elle fut écrite pour être utilisé en VBA ,
donc en
anglais, ceci pour nous laisser l'impression que c'est différent pour le Français et
l'anglais.
J'arrête ici... je veux m'en garder un peu pour mon livre !!!!
;-)))
"Misange" a écrit dans le message de groupe de discussion :
Salut Denis
Ce que tu constates est tout à fait normal et le problème se produit en
fait dans l'autre sens.
Prends un classeur 2007, écris = fin.mois(..). Enregistre le en format
2007. Si tu le passes à quelqu'un travaillant sous une autre langue, pas
de problème, la fonction fin.mois qui est codée "en langage machine est
traduite dans la langue de ton utilisateur.
Maintenant enregistre le même classeur en format compatible 97-2003.
Il n'y a que les anglophones qui l'ouvriront sans problème ! tous les
autres verront une valeur d'erreur car la formule devient =eomonth() qui
n'est pas comprise par excel en version non anglophone...
Donc, soit tu recodes tous tes classeurs en te passant des fonctions de
l'utilitaire d'analyse et de cette manière, tu peux enregistrer en
format compatible et garder l'extension xls. Soit tu ne recodes rien et
tu enregistres en format 2007 et ça roule impec tant que tu restes dans
2007 (sauf effectivement dans le cas présent à devoir changer les
extensions xls en xlsm dans tout le code vba).
Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur excel !
MichDenis a écrit :J'avais publié un message sur ce fil mais il ne s'est jamais affiché (au moins chez moi)
En voici une variante...
| Le code VBA fonctionne bien sous excel 2007, puisque ce programme accepte de
| tourner une première fois et enregistre à un moment le fameux fichier sans
| probleme sous un nouveau nom via du code VBA.
**** Habituellement, lorsque tu ouvres un fichier d'une version antérieure,
Excel 2007 ouvre le fichier en mode compatibitlité c'est à dire que les
caractéristiques propres à excel 2007 ne sont pas accessibles.
**** Le fichier devient vraiment un fichier 2007 lorsque tu l'as enregistré
avec une extexions xlsx ou xlsm. De plus, suite àl'enregistrement, le fichier
doit être fermé et rouvert. Ce n'est qu'à ce moment que le fichier est
vraiment un fichier version 2007. Et là, tu dis que cela ne fonctionne plus !
À ma grande surprise, dans un classeur 2003, j'ai choisi au hasard quelques
formules émanant de l'utilitaire d'analyse et je l'ai inséré dans une feuille
de calcul pour mener un petit test. Utilisation très standard. J'ai enregistré
le fichier sous la version Excel 2003. Voici les fonctions utilisées.
No.Semaine() , Arrondi.au.Multiple() , Fin.Mois(), Serie.jour.ouvre()
Alea.Entre.Bornes()
Dans un second temps, j'ai ouvert le classeur et sans intervenir dans le fichier
je l'ai simplement enregistré sous Excel 2007 avec une extension xlsm ou xlsx.
J'ai refermé le classeur sans intervenir dans ce dernier et je l'ai ouvert à nouveau.
Là, j'avais vraiment un fichier 2007. Et bien à ma grande surprise, toutes ces
formules de l'utilitaire d'analyse version antérieur d'excel fonctionne très bien.
Pas besoin de passer les cellules contenant ces formules en mode édition pour
qu'elles reprennent leur aplomb. (il est encore très tôt heure du Québec ce matin
il y possible que je sois sous l'influence d'un rêve !!! )
"Sophie" a écrit dans le message de groupe de
discussion :
Bonjour,
J'ai un gros programme VBA développé sous Excel 5 à l'origine, réenregistré
sous excel 2003.
A l'ouverture d'un des fichiers du programme sous excel 2007, j'ai erreur
fichier, risque de perte de données et en effet, il me supprime plein de
formules de calculs et les remplace par #N/A.
Existe-t-il une solution?
Merci d'avance.