Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/05/2011, 13h18   #1
Membre du Club
 
Homme hadrien
Apprenti Ingénieur
Inscription : mars 2011
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme hadrien
Localisation : France

Informations professionnelles :
Activité : Apprenti Ingénieur
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : mars 2011
Messages : 86
Points : 56
Points : 56
Par défaut Problème de sauvegarde de dotx en docx

Bonjour à tous,

Voila j'ai un formulaire access qui m'ouvre une tramme word tramme.dotx, qui la modifie et qui sauvegarde un document.doc ou .docx. Les .doc fonctionnent parfaitement mais les .docx ne marche pas. A l'ouverture, word m'affiche "impossible d'ouvrir ...., des erreurs ont été décelé dans son contenu. Voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Dim wordObj As Word.Application
Dim Tramme As Word.Document
Dim Name, dossier As String
 
dossier = "\\...local\....\Dossier_Essais\"
Name = Forms![frmWORD].Texte9.Value
 
Set wordObj = CreateObject("Word.Application") 'wordObj.Visible = True
Set Tramme = wordObj.Documents.Open(dossier & "rapport3.dotx")
 
Tramme.Bookmarks("Client").Range.Text =  Name
 
Tramme.SaveAs FileName:=dossier & Name & ".docx"
'Tramme.SaveAs FileName:=dossier & Name & ".doc"
 
wordObj.Quit savechanges:=False
 
Set wordObj = Nothing
Set Tramme = Nothing

Si quelqu'un sait pourquoi cela ne fonctionne pas avec les docx, je le remerci de me répondre.

hadrien
FtF Nemesis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 18h56   #2
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 592
Points : 1 592
Envoyer un message via MSN à carden752
Bonjour,

Je pense que c'est le format de document qui ne correspond pas.
Pour moi, par défaut, la méthode saveas doit sauvegarder les fichiers au format ".doc".
Il faut donc lors de l'enregistrement lui dire que c'est du format docx.
Pour ce faire, il est possible de spécifier l'argument Fileformat avec une constante parmi celle défini dans wdsaveformat.

Sous Word 2007 pour les docx, essayes cela.
Code :
Tramme.SaveAs FileName:=dossier & Name & ".docx", Fileformat:=wdFormatDocumentDefault
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 21h01   #3
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 323
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 323
Points : 29 227
Points : 29 227
Salut,

J'aurais une question en plus, quelle est ta version d'Access et de Word ?
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 00h18   #4
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonsoir.

Pour enregistrer en .docx, le fileformat est : wdFormatXMLDocument.

Cordialement,

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 09h33   #5
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 323
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 323
Points : 29 227
Points : 29 227
Salut,
Citation:
Envoyé par pgz Voir le message
Pour enregistrer en .docx, le fileformat est : wdFormatXMLDocument.
Es-tu certain que cette constante soit exploitable sous 2003 ?
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 12h05   #6
Membre du Club
 
Homme hadrien
Apprenti Ingénieur
Inscription : mars 2011
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme hadrien
Localisation : France

Informations professionnelles :
Activité : Apprenti Ingénieur
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : mars 2011
Messages : 86
Points : 56
Points : 56
Merci pour vos réponses je vais essayé tout de suite, pour info ma version est 2007 pour Word et Access.
FtF Nemesis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 12h09   #7
Membre du Club
 
Homme hadrien
Apprenti Ingénieur
Inscription : mars 2011
Messages : 86
Détails du profil
Informations personnelles :
Nom : Homme hadrien
Localisation : France

Informations professionnelles :
Activité : Apprenti Ingénieur
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : mars 2011
Messages : 86
Points : 56
Points : 56
Cette méthode fonctionne !!!

Code :
Trame.SaveAs FileName:=dossier & Name & ".docx", FileFormat:=wdFormatDocumentDefault
Merci encore

Hadrien
FtF Nemesis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 13h22   #8
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 592
Points : 1 592
Envoyer un message via MSN à carden752
Bonjour,

Citation:
Envoyé par Heureux-oli Voir le message
Salut,

Pour enregistrer en .docx, le fileformat est : wdFormatXMLDocument.

Es-tu certain que cette constante soit exploitable sous 2003 ?
Cette constante n'est pas exploitable.
L'enregistreur de macro donne 100 pour le fileformat
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 13h48   #9
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 323
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 323
Points : 29 227
Points : 29 227
Salut,

J'ai pas fait attention que la version était donnée.

Par contre, il est préférable d'utiliser la méthode Documents.Add au lieu de Documents.Open
On est alors certain de ne pas modifier le modèle de document.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 01h09   #10
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonsoir

Citation:
Envoyé par Heureux-oli Voir le message
Salut,


Es-tu certain que cette constante soit exploitable sous 2003 ?
Le sujet est la sauvegarde en Docx, ce qui n'est pas envisageable je pense avec 2003 et la conversation est taguée en 2007.

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h42.


 
 
 
 
Partenaires

Hébergement Web