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