VBA - Macro sauvegarde à tord un fichier toto.docx en format 2003 sous word 2007 [Résolu]

Messages postés
2
Date d'inscription
dimanche 28 juin 2009
Dernière intervention
9 juillet 2010
- - Dernière réponse : cywal
Messages postés
2
Date d'inscription
dimanche 28 juin 2009
Dernière intervention
9 juillet 2010
- 9 juil. 2010 à 10:09
Bonjour à tous,

J'ai créé une macro VBA qui tournait sous word 2003 dans un fichier macro.doc.

J'ai installé office 2007, convertit mon fichier macro.doc au format 2007, il s'appel désormais macro.docm.

La macro fonctionne parfaitement en utilisant des modèles 2003(.dot) qui me permettent de générer des fichiers au format 2003(.doc).

J'ai ensuite convertit mes modèles .dot 2003 en .dotx 2007 puis modifié la macro pour que les fichiers cibles générés soient en extension .docx.

Problème, les fichiers cibles générés en .docx ne sont pas ouvrables sous word 2007 sauf si je les renommes en .doc.

Apparemment word 2007 via la macro génère à tord des fichiers au format 2003, pourtant le modèle utilisé est un dotx au bon format.

Voici mon code :

' Sauvegarde du fichier
ActiveDocument.SaveAs FileName:=LeNomDuFichier$, FileFormat:=wdFormatDocument, _
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword:="", _
ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:=False

Je me demande si le problème ne vient pas de la constante de format "wdFormatDocument", y-a t-il une constante permettant de préciser la version de word dans laquelle le fichier doit-être sauvegardée ?

D'avance, merci pour vos suggestions.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
3
Merci
Salut
Oui, tu as mis le doigt dessus.
Mais n'attends pas qu'on te sorte la solution : tu peux la découvrir toi même en enregistrant une macro pendant que tu enregistres un document bidon AVEC macro, donc "docm", ce qui donne un FileFormat = wdFormatXMLDocumentMacroEnabled
Voir l'enregistreur de macro pour plus de détails.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

Merci cs_Jack 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
2
Date d'inscription
dimanche 28 juin 2009
Dernière intervention
9 juillet 2010
0
Merci
Merci Jack.

Je donne la solution pour ceux que ça intéressent, le format doit être wdFormatXMLDocument pour un document word 2007.

wdFormatDocument correspond à un document 97-2003.
Commenter la réponse de cywal

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.