ActiveWorkbook.SaveAs... en format 2007

Le
Patrice
Bonjour à tous,

J'ai enregistré un classeur Excel2002 avec macro, en format 2007. Je lance
la macro pour le traitement de données qui crée un nouveau classeur. Je
voudrais enregistrer le nouveau classeur en format 2007 (pour qu'il puisse
enregistrer les fichiers de plus de 65 000 lignes). Mais la ligne de commande
suivante fait afficher un message d'erreur qui m'indique que je perdrai les
fonctionnalités 2007 si je poursuis.

ActiveWorkbook.SaveAs Filename:=NomFic, FileFormat:=xlNormal

Comment indiquer que je veux un format 2007?

Merci

Patrice
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel Gaboly
Le #4747821
Bonsoir,

Sous quelle version tourne ton code ? 2002 ou 2007 ? Je sais qu'il existe un outil permettant à des versions antérieures
de lire des documents au format 2007, mais je ne l'ai jamais utilisé . J'ignore s'il est capable d'enregistrer à ce même
format.

Si ton code tourne sous Excel 2002, le format "normal" est le format comm un à toutes les versions de 97 à 2003 (Win) et
98 à 2004 (Mac). Le message t'informat que tu risques de perdre le s spécificités liées à une version ultérieure pa raît
donc logique.

Sous Excel 2007, il faut utiliser comme valeur pour FileFormat :

xlOpenXLMWorkbook pour le format Excel 2007 standard (.xlsx)
xlExcel8 pour le format Excel 98-2004 (.xls)
xlOpenXLMWorkbookMacroEnabled pour le format Excel 2007 avec macros (.xls m)

Aucune de ces 3 constantes n'est reconnue par Excel 2003 ou antérieu r (sauf peut-être en ayant installé l'outil
permttant d'exploiter les formats d'Office 2007, ce que je n'ai jamais eu l'occasion de tester.

Bonjour à tous,

J'ai enregistré un classeur Excel2002 avec macro, en format 2007. Je lance
la macro pour le traitement de données qui crée un nouveau cl asseur. Je
voudrais enregistrer le nouveau classeur en format 2007 (pour qu'il pui sse
enregistrer les fichiers de plus de 65 000 lignes). Mais la ligne de co mmande
suivante fait afficher un message d'erreur qui m'indique que je perdrai les
fonctionnalités 2007 si je poursuis.

ActiveWorkbook.SaveAs Filename:=NomFic, FileFormat:=xlNormal

Comment indiquer que je veux un format 2007?

Merci

Patrice



--
Cordialement,

Michel Gaboly
www.gaboly.com

Patrice
Le #4699271
Voici quelques précisions.

Le classeur d'origine a été créé sous Excel 2002.
J'ai ouvert ce classeur avec la version 2007 et fais un enregistrer sous
.... en format 2007 avec macro (.xlsm)

La macro ouvre un fichier texte: Workbooks.OpenText Filename:=fichier _
Exécute une série de commande
Puis enregistre le document texte en format Excel.

ActiveWorkbook.SaveAs Filename:=NomFic, FileFormat:=xlNormal

Mais cela enregistre en format Excel 2002. J'aimerais l'enregister en format
2007




Bonsoir,

Sous quelle version tourne ton code ? 2002 ou 2007 ? Je sais qu'il existe un outil permettant à des versions antérieures
de lire des documents au format 2007, mais je ne l'ai jamais utilisé. J'ignore s'il est capable d'enregistrer à ce même
format.

Si ton code tourne sous Excel 2002, le format "normal" est le format commun à toutes les versions de 97 à 2003 (Win) et
98 à 2004 (Mac). Le message t'informat que tu risques de perdre les spécificités liées à une version ultérieure paraît
donc logique.

Sous Excel 2007, il faut utiliser comme valeur pour FileFormat :

xlOpenXLMWorkbook pour le format Excel 2007 standard (.xlsx)
xlExcel8 pour le format Excel 98-2004 (.xls)
xlOpenXLMWorkbookMacroEnabled pour le format Excel 2007 avec macros (.xlsm)

Aucune de ces 3 constantes n'est reconnue par Excel 2003 ou antérieur (sauf peut-être en ayant installé l'outil
permttant d'exploiter les formats d'Office 2007, ce que je n'ai jamais eu l'occasion de tester.

Bonjour à tous,

J'ai enregistré un classeur Excel2002 avec macro, en format 2007. Je lance
la macro pour le traitement de données qui crée un nouveau classeur. Je
voudrais enregistrer le nouveau classeur en format 2007 (pour qu'il puisse
enregistrer les fichiers de plus de 65 000 lignes). Mais la ligne de commande
suivante fait afficher un message d'erreur qui m'indique que je perdrai les
fonctionnalités 2007 si je poursuis.

ActiveWorkbook.SaveAs Filename:=NomFic, FileFormat:=xlNormal

Comment indiquer que je veux un format 2007?

Merci

Patrice



--
Cordialement,

Michel Gaboly
www.gaboly.com




Patrice
Le #4699051
Merci Michel,

J'ai finalement compris. Y'a des jours comme ça ;-)

ActiveWorkbook.SaveAs Filename:=NomFic, FileFormat:=xlOpenXMLWorkbook etc.





Bonjour à tous,

J'ai enregistré un classeur Excel2002 avec macro, en format 2007. Je lance
la macro pour le traitement de données qui crée un nouveau classeur. Je
voudrais enregistrer le nouveau classeur en format 2007 (pour qu'il puisse
enregistrer les fichiers de plus de 65 000 lignes). Mais la ligne de commande
suivante fait afficher un message d'erreur qui m'indique que je perdrai les
fonctionnalités 2007 si je poursuis.

ActiveWorkbook.SaveAs Filename:=NomFic, FileFormat:=xlNormal

Comment indiquer que je veux un format 2007?

Merci

Patrice


Michel Gaboly
Le #4698661
De rien ;-))

Je dois reconnaître avoir été un peu surpris par ton message préc édent !
Le principal est que l'info soit passée ;-))


Merci Michel,

J'ai finalement compris. Y'a des jours comme ça ;-)

ActiveWorkbook.SaveAs Filename:=NomFic, FileFormat:=xlOpenXMLWorkbo ok etc.






Bonjour à tous,

J'ai enregistré un classeur Excel2002 avec macro, en format 2007. Je lance
la macro pour le traitement de données qui crée un nouveau classeur . Je
voudrais enregistrer le nouveau classeur en format 2007 (pour qu'il pui sse
enregistrer les fichiers de plus de 65 000 lignes). Mais la ligne de co mmande
suivante fait afficher un message d'erreur qui m'indique que je perdrai les
fonctionnalités 2007 si je poursuis.

ActiveWorkbook.SaveAs Filename:=NomFic, FileFormat:=xlNormal

Comment indiquer que je veux un format 2007?

Merci

Patrice




--
Cordialement,

Michel Gaboly
www.gaboly.com


Publicité
Poster une réponse
Anonyme