Microsoft 365 Fermer l'instance Word (Suite macro vba)

Azuveus

XLDnaute Nouveau
Bonjour la communauté,

Voila je me confronte a un problème depuis quelques jours.

Dans un fichier Excel, une macro me permet de récupérer des données de ce même fichier Excel et de les incrémenter dans un fichier Word (un Template) via des signets et de le sauvegarder en un fichier PDF pour ne pas écraser mon Template Word.

Concrètement ce que je demande a ma macro est de générer un PDF immédiatement sans afficher l'app Word.

Ma macro fonctionne bien, cependant lorsque je souhaite réutiliser la macro ultérieurement, un message apparait en m'indiquant que le fichier Word (mon Template) est déjà ouvert ce qui n'est pas le cas. (et d'en ouvrir l'ouvrir en lecteur seul), ce qui me pose un problème.

Pour palier a cela, je dois systématiquement redémarrer mon PC ce qui n'est vraiment pas idéal.

Ma question est donc la suivante : Pourriez vous m'indiquer ce que dois faire dans ma macro afin de fermer l'instance Word après la génération de mon PDF.

Voici la macro :
VB:
Sub CREATE_PDF_Click()

Dim Wordapp As Word.Application
Dim Worddoc As Word.Document

Set Wordapp = CreateObject("word.application")
Set Worddoc = Wordapp.Documents.Open("\\...\BACKLOG\PVI.doc")

Worddoc.Bookmarks("NOM_CLIENT").Range.Text = TextBox1.Value
Worddoc.Bookmarks("ADRESSE").Range.Text = TextBox2.Value
Worddoc.Bookmarks("VILLE").Range.Text = TextBox3.Value
Worddoc.Bookmarks("PAYS").Range.Text = TextBox4.Value
Worddoc.Bookmarks("NUM_CLIENT").Range.Text = TextBox5.Value
Worddoc.Bookmarks("NUM_CDE").Range.Text = TextBox12.Value
Worddoc.Bookmarks("SERVICE").Range.Text = TextBox6.Value
Worddoc.Bookmarks("TELEPHONE").Range.Text = TextBox7.Value
Worddoc.Bookmarks("CODE_POSTAL").Range.Text = TextBox8.Value
Worddoc.Bookmarks("CONTACT").Range.Text = TextBox9.Value
Worddoc.Bookmarks("EQUIPEMENT").Range.Text = TextBox10.Value
Worddoc.Bookmarks("NUM_SERIE").Range.Text = TextBox11.Value

Worddoc.ExportAsFixedFormat OutputFileName:= _
        "PVI" & ".pdf", ExportFormat:= _
        17, OpenAfterExport:=True, OptimizeFor:= _
        0, Range:=0, From:=1, To:=1, _
        Item:=0, IncludeDocProps:=True, KeepIRM:=True, _
        CreateBookmarks:=0, DocStructureTags:=True, _
        BitmapMissingFonts:=True, UseISO19005_1:=False

End Sub

Je vous remercie par avance pour votre précieuse aide.

Azuveus.
 

patricktoulon

XLDnaute Barbatruc
re
bonjour
ma fois tu créée deux object au départ la chose est évidente

VB:
Set Wordapp = CreateObject("word.application")
Set Worddoc = Wordapp.Documents.Open("\\...\BACKLOG\PVI.doc")

puis tu sauve le document en pdf
donc il y a de forte chance que tu ne veuille pas garder le word
donc tu n'a qu'a fermer l'application word comme tu le ferais avec excel
Code:
with wordapp
.displayalerts=false
.quit
end with
ton doc word restera comme à l'initial
 

Azuveus

XLDnaute Nouveau
Euh. çà a l'air de fonctionner! Cepandant, j'ai maintenant ce message :
1629721124764.png


j'avais compris que le display Alert etait en false. Pourquoi donc ce message ?

Azuveus.
 

Azuveus

XLDnaute Nouveau
Bonjour,

Je n'arrive toujours pas a faire disparaitre le pop-up
1630507156975.png


Voici mon code:
Pourriez vous me dire ou est le probleme svp?

VB:
Sub CREATE_PDF_Click()

Dim Wordapp As Word.Application
Dim Worddoc As Word.Document

Set Wordapp = CreateObject("word.application")
Set Worddoc = Wordapp.Documents.Open("\\...\BACKLOG\PVI.doc")

Worddoc.Bookmarks("NOM_CLIENT").Range.Text = TextBox1.Value
Worddoc.Bookmarks("ADRESSE").Range.Text = TextBox2.Value
Worddoc.Bookmarks("VILLE").Range.Text = TextBox3.Value
Worddoc.Bookmarks("PAYS").Range.Text = TextBox4.Value
Worddoc.Bookmarks("NUM_CLIENT").Range.Text = TextBox5.Value
Worddoc.Bookmarks("NUM_CDE").Range.Text = TextBox12.Value
Worddoc.Bookmarks("SERVICE").Range.Text = TextBox6.Value
Worddoc.Bookmarks("TELEPHONE").Range.Text = TextBox7.Value
Worddoc.Bookmarks("CODE_POSTAL").Range.Text = TextBox8.Value
Worddoc.Bookmarks("CONTACT").Range.Text = TextBox9.Value
Worddoc.Bookmarks("EQUIPEMENT").Range.Text = TextBox10.Value
Worddoc.Bookmarks("NUM_SERIE").Range.Text = TextBox11.Value

Worddoc.ExportAsFixedFormat OutputFileName:= _
        "PVI - " & TextBox1.Value & " - SO " & TextBox12.Value & " - " & TextBox10.Value & ".pdf", ExportFormat:= _
        17, OpenAfterExport:=True, OptimizeFor:= _
        0, Range:=0, From:=1, To:=1, _
        Item:=0, IncludeDocProps:=True, KeepIRM:=True, _
        CreateBookmarks:=0, DocStructureTags:=True, _
        BitmapMissingFonts:=True, UseISO19005_1:=False

With Wordapp
Wordapp.DisplayAlerts = False
Wordapp.Quit

End With

End Sub

Merci d'avance,

Azuveus,
 

patricktoulon

XLDnaute Barbatruc
le pdf devrait etre enregistré sur ton bureau
on aurait eu ton modèle de doc on aurait fait plus vite
VB:
Sub CREATE_PDF_Click()

    Dim Wordapp As Word.Application
    Dim Worddoc As Word.Document
    Dim cheminpdf$
    Set Wordapp = CreateObject("word.application")
    Set Worddoc = Wordapp.Documents.Open("\\...\BACKLOG\PVI.doc")
    cheminpdf = Environ("userprofile") & "\DeskTop\" & "PVI - " & TextBox1.Value & " - SO " & TextBox12.Value & " - " & TextBox10.Value & ".pdf"

    Worddoc.Bookmarks("NOM_CLIENT").Range.Text = TextBox1.Value
    Worddoc.Bookmarks("ADRESSE").Range.Text = TextBox2.Value
    Worddoc.Bookmarks("VILLE").Range.Text = TextBox3.Value
    Worddoc.Bookmarks("PAYS").Range.Text = TextBox4.Value
    Worddoc.Bookmarks("NUM_CLIENT").Range.Text = TextBox5.Value
    Worddoc.Bookmarks("NUM_CDE").Range.Text = TextBox12.Value
    Worddoc.Bookmarks("SERVICE").Range.Text = TextBox6.Value
    Worddoc.Bookmarks("TELEPHONE").Range.Text = TextBox7.Value
    Worddoc.Bookmarks("CODE_POSTAL").Range.Text = TextBox8.Value
    Worddoc.Bookmarks("CONTACT").Range.Text = TextBox9.Value
    Worddoc.Bookmarks("EQUIPEMENT").Range.Text = TextBox10.Value
    Worddoc.Bookmarks("NUM_SERIE").Range.Text = TextBox11.Value

    Worddoc.ExportAsFixedFormat OutputFileName:=cheminpdf, ExportFormat:=17, OpenAfterExport:=True, _
                                OptimizeFor:=0, Range:=0, From:=1, To:=1, _
                                Item:=0, IncludeDocProps:=True, KeepIRM:=True, _
                                CreateBookmarks:=0, DocStructureTags:=True, _
                                BitmapMissingFonts:=True, UseISO19005_1:=False

    Worddoc.Close False
    Set Worddoc = Nothing
    Wordapp.Quit
    Set Wordapp = Nothing

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 171
Messages
2 085 931
Membres
103 049
dernier inscrit
plt