Piloter Word depuis Excel - Commentenregistrer au format 97-2003
Résolu
CCM?
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Une macro lancée depuis Excel 2010 crée des documents Word en parcourant un tableau. La macro ouvre un template, transfère les données via des bookmarks et ensuite enregistre les fichiers Word au format ".DOCX"
Alors que je désire enregistrer ces fichiers au format ".DOC" (97-2003).
Quelle instruction faut-il utiliser? Merci de votre aide.
Voici le code :
Sub BonDeCommande()
'
Dim MonChemin As String 'variable qui recevra le chemin pour ouvrir le doc
Dim KlantBVC, KlantContact, KlantIBA, KlantOrderNummer, Klantreferentie, Klanttelefoon As String
Dim Repertoire, FichierModele, NomFichier As String
Dim CptClient, Cpt, ClientDébut, ClientFin, Pos As Integer
Dim appWrd, DocWord As Object
ClientDébut = InputBox("Premier client (numéro d'ordre) : ", "Bon de Commande FDG AMST par client", ActiveCell.Row - 3)
ClientFin = InputBox("Dernier client (numéro d'ordre) ", "Bon de Commande FDG AMST par client", ActiveSheet.UsedRange.Rows.Count)
For CptClient = ClientDébut To ClientFin
Cpt = CptClient + 3
FichierModele = "FichierModèle.dotx"
MonChemin = "V:\répertoire\" & FichierModele
Set appWrd = CreateObject("Word.Application")
appWrd.Visible = True
Set DocWord = appWrd.Documents.Add(Template:=MonChemin, NewTemplate:=False, DocumentType:=0)
Set DocWord = appWrd.activedocument
DocWord.Bookmarks("KlantOrderNummer").Range.Text = Cells(Cpt, 1)
DocWord.Bookmarks("KlantBVC").Range.Text = Cells(Cpt, 4)
DocWord.Bookmarks("KlantIBA").Range.Text = Cells(Cpt, 5)
DocWord.Bookmarks("KlantNaam").Range.Text = Cells(Cpt, 6)
DocWord.Bookmarks("Klanttelefoon").Range.Text = Cells(Cpt, 8)
If Cells(Cpt, 9) <> "" Then
DocWord.Bookmarks("EmailDienst").Range.Text = Cells(Cpt, 9) & ", "
End If
DocWord.Bookmarks("EmailMedewerker").Range.Text = Cells(Cpt, 10)
If Cells(Cpt, 11) <> "" Then
Pos = InStr(Cells(Cpt, 11), "@") + 1
DocWord.Bookmarks("KlantFax").Range.Text = "+" & Left(Cells(Cpt, 11), (Len(Cells(Cpt, 11)) - Pos))
End If
DocWord.Bookmarks("KlantReferte").Range.Text = Cells(Cpt, 12)
Repertoire = "V:\répertoire\fichierparclient\"
NomFichier = Cells(Cpt, 1) & "-" & Cells(Cpt, 5) & "-" & Cells(Cpt, 4)
appWrd.activedocument.SaveAs (Repertoire & NomFichier),
Next CptClient
End Sub
Une macro lancée depuis Excel 2010 crée des documents Word en parcourant un tableau. La macro ouvre un template, transfère les données via des bookmarks et ensuite enregistre les fichiers Word au format ".DOCX"
Alors que je désire enregistrer ces fichiers au format ".DOC" (97-2003).
Quelle instruction faut-il utiliser? Merci de votre aide.
Voici le code :
Sub BonDeCommande()
'
Dim MonChemin As String 'variable qui recevra le chemin pour ouvrir le doc
Dim KlantBVC, KlantContact, KlantIBA, KlantOrderNummer, Klantreferentie, Klanttelefoon As String
Dim Repertoire, FichierModele, NomFichier As String
Dim CptClient, Cpt, ClientDébut, ClientFin, Pos As Integer
Dim appWrd, DocWord As Object
ClientDébut = InputBox("Premier client (numéro d'ordre) : ", "Bon de Commande FDG AMST par client", ActiveCell.Row - 3)
ClientFin = InputBox("Dernier client (numéro d'ordre) ", "Bon de Commande FDG AMST par client", ActiveSheet.UsedRange.Rows.Count)
For CptClient = ClientDébut To ClientFin
Cpt = CptClient + 3
FichierModele = "FichierModèle.dotx"
MonChemin = "V:\répertoire\" & FichierModele
Set appWrd = CreateObject("Word.Application")
appWrd.Visible = True
Set DocWord = appWrd.Documents.Add(Template:=MonChemin, NewTemplate:=False, DocumentType:=0)
Set DocWord = appWrd.activedocument
DocWord.Bookmarks("KlantOrderNummer").Range.Text = Cells(Cpt, 1)
DocWord.Bookmarks("KlantBVC").Range.Text = Cells(Cpt, 4)
DocWord.Bookmarks("KlantIBA").Range.Text = Cells(Cpt, 5)
DocWord.Bookmarks("KlantNaam").Range.Text = Cells(Cpt, 6)
DocWord.Bookmarks("Klanttelefoon").Range.Text = Cells(Cpt, 8)
If Cells(Cpt, 9) <> "" Then
DocWord.Bookmarks("EmailDienst").Range.Text = Cells(Cpt, 9) & ", "
End If
DocWord.Bookmarks("EmailMedewerker").Range.Text = Cells(Cpt, 10)
If Cells(Cpt, 11) <> "" Then
Pos = InStr(Cells(Cpt, 11), "@") + 1
DocWord.Bookmarks("KlantFax").Range.Text = "+" & Left(Cells(Cpt, 11), (Len(Cells(Cpt, 11)) - Pos))
End If
DocWord.Bookmarks("KlantReferte").Range.Text = Cells(Cpt, 12)
Repertoire = "V:\répertoire\fichierparclient\"
NomFichier = Cells(Cpt, 1) & "-" & Cells(Cpt, 5) & "-" & Cells(Cpt, 4)
appWrd.activedocument.SaveAs (Repertoire & NomFichier),
Next CptClient
End Sub
A voir également:
- Piloter Word depuis Excel - Commentenregistrer au format 97-2003
- Word et excel gratuit - Guide
- Word 2013 - Télécharger - Traitement de texte
- Format factory - Télécharger - Conversion & Codecs
- Tableau word - Guide
- Liste déroulante excel - Guide
1 réponse
Bonjour,
Fait avec l'enregistreur de macro word2007-2010
appWrd.ActiveDocument.SaveAs FileName:=Repertoire & NomFichier, FileFormat:= _
wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
:=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False
Bonne suite
Fait avec l'enregistreur de macro word2007-2010
appWrd.ActiveDocument.SaveAs FileName:=Repertoire & NomFichier, FileFormat:= _
wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
:=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False
Bonne suite
remplacez wdFormatXMLDocument par wdFormatDocument