Sub facture()
Dim WordApp As Object
Dim i&, j&, pos&, NomDoc$, s As Object
fic = Worksheets("Feuil1").Range("A1")
NomDoc = ThisWorkbook.Path & "\" & fic & ".docx" ' définition du chemin et nom du doc au créer
Set WordApp = CreateObject("Word.Application")
WordApp.Documents.Open (ThisWorkbook.Path & "\" & "Facture_vierge.docx")
WordApp.ActiveDocument.SaveAs NomDoc ' On l'enregistre ? là le doc est vide ?
WordApp.ActiveDocument.Close
WordApp.Quit
Set WordApp = Nothing
MsgBox "Ended"
End Sub
Ah bon je veux bien , mais donc pourquoi ce code dans l'appli que j'ai terminé il y a 8 j fonctionne très bien ? en plus je boucle x fois et le OPEN marche bien !!le Dim doit avoir un New si vous faites référence à word dans votre Projet
Sub Fill_Form()
'nécéssite d'activer la référence Microsoft Word xx.x Object Library
Dim WordApp As Word.Application, WordDoc As Word.Document
Dim i&, j&, pos&, NomDoc$, s As Object
Dim chemin As String
...
....
For x = 4 to dg
.......
Set WordDoc = WordApp.Documents.Open(ThisWorkbook.Path & "\" & "BL vierge version HD.docm")
.......etc
next x
Sub Facture_Word()
Dim WApp As Object, WDoc As Object, nom$
On Error Resume Next
Set WApp = GetObject(, "Word.Application")
If Err Then Set WApp = CreateObject("Word.Application")
On Error GoTo 0
WApp.Visible = True
Set WDoc = WApp.Documents.Add 'nouveau document
Sheets("Modèle").UsedRange.Copy 'copier
WDoc.Content.Paste 'coller
Application.CutCopyMode = 0
WDoc.Range.ParagraphFormat.SpaceBefore = 6 'meilleur cadrage
nom = Sheets("Modèle").[B1] & " " & Format(Date, "yyyy-mm-dd") & ".docx"
WDoc.SaveAs ThisWorkbook.Path & "\" & nom
If WApp.Documents.Count = 1 Then WApp.Quit Else WDoc.Close False
MsgBox "Facture '" & nom & "' créée..."
End Sub
J'ai écris QUAND je suis en mode DEBUG !!!! donc quand ça plante avant fermeture word fait toujours dodo !!!!!SI vous ne faites jamais de fermeture,
c'est sur que vous allez avoir plusieurs instances de Word