Bonjour à tous,
J'ai un problème de comptage, depuis excel, du nombre de fichier word ouvert
J'ai créé une macro qui m'ouvre, à l'ouverture d'un classeur excel, un document word. Ce document word porte le même nom (sans l'extension bien sur) que le classeur exel. Pas de problème
Ensuite pour pouvoir fermer ce document word avant de fermer le classeur excel, j'ai cherché à faire la liste des word ouverts.
Et là surprise !
1er essai
Si je commence par ouvrir mon classeur excel > TestExcel.xls par exemple, j'ouvre bien mon document TestExcel.doc.
Ensuite si j'ouvre un autre word TestWord.doc, par exemple, la macro "liste_docsword" va bien me donner dans le msgbox
TestExcel..doc
TestWord.doc
2ième essai
Si j'ouvre d'abord TestWord.doc puis TestExcel.xls (qui va m'ouvrir TestExcel.doc) la macro "liste_docsword" ne va me donner dans le msgbox que
TestWord.doc
TestExcel.doc est "oublié"
Pire si je supprime TestWord.doc et que je relance la macro "liste_docsword" sans même fermer le fichier excel celle-ci me trouve bien TestExcel.doc
Je ne comprends pas
Merci à ceux qui pourront m'aider et bon we
Pégase
J'ai un problème de comptage, depuis excel, du nombre de fichier word ouvert
J'ai créé une macro qui m'ouvre, à l'ouverture d'un classeur excel, un document word. Ce document word porte le même nom (sans l'extension bien sur) que le classeur exel. Pas de problème
Code:
Sub Ouvrir_Word()
FullName = ActiveWorkbook.FullName
Chemin_Fich_doc = Replace(FullName, ".xls", ".doc")
On Error Resume Next
'Vérification de l'ouverture
Set Appli = GetObject(, "Word.Application")
Set WordDoc = Appli.Documents(Chemin_Fich_doc)
If WordDoc Is Nothing Then
'Ouverture
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open(Chemin_Fich_doc)
wrdApp.Visible = True
Else
Mess = MsgBox("Le document word est déjà ouvert", vbOKOnly + vbInformation, "Attention")
End If
On Error GoTo 0
End Sub
Ensuite pour pouvoir fermer ce document word avant de fermer le classeur excel, j'ai cherché à faire la liste des word ouverts.
Code:
Sub liste_docsword()
Set appli_word = GetObject(, "Word.Application")
For Each docword In appli_word.Documents
liste_docs_ouverts = docword.Name & vbCrLf & liste_docs_ouverts
Next docword
MsgBox liste_docs_ouverts
End Sub
1er essai
Si je commence par ouvrir mon classeur excel > TestExcel.xls par exemple, j'ouvre bien mon document TestExcel.doc.
Ensuite si j'ouvre un autre word TestWord.doc, par exemple, la macro "liste_docsword" va bien me donner dans le msgbox
TestExcel..doc
TestWord.doc
2ième essai
Si j'ouvre d'abord TestWord.doc puis TestExcel.xls (qui va m'ouvrir TestExcel.doc) la macro "liste_docsword" ne va me donner dans le msgbox que
TestWord.doc
TestExcel.doc est "oublié"
Pire si je supprime TestWord.doc et que je relance la macro "liste_docsword" sans même fermer le fichier excel celle-ci me trouve bien TestExcel.doc
Je ne comprends pas
Merci à ceux qui pourront m'aider et bon we
Pégase