Excel VBA problème avec une macro

[Résolu/Fermé]
Signaler
Messages postés
7
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
21 janvier 2019
-
Messages postés
7
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
21 janvier 2019
-
Bonjour,




je suis sous Windows 8 avec MS Office 2010.

La macro EXCEL suivante me permet de vérifier si le fichier Word est déjà ouvert :
si déjà ouvert : affichage
si non ouvert : ouverture et affichage

Sub PublipostageVisualisation()
'======================================================================
' Visualisation d'un fichier de Publipostage
'======================================================================
Dim FicVoeux As String
Dim FicOuvert As Integer
Dim WordApp As Word.Application
Dim WordDoc As Word.Document

' Détermination des paramètres de début
Call Choix_Paramètres

FicVoeux = RepertoirePublipostage & "Voeux_Clients.docx"

' si le fichier Word est déjé ouvert, passage direct à l'affichage
If IsFileOpen(FicVoeux) = True Then
FicOuvert = 1
Set WordApp = GetObject(FicVoeux).Application
WordApp.Visible = True
WordApp.Activate
End Sub
End If

Set WordApp = CreateObject("Word.Application")
Set WordDoc = WordApp.Documents.Open(FicVoeux)
WordApp.Visible = True
WordApp.Activate

End Sub


Cette macro est lancée depuis le page Excel en cliquant sur un bouton, sachant que le fichier Word concerné existe.

J'ai un souci pour lequel je ne trouve pas la solution.

La macro fonctionne, par contre le fichier Word n'est pas affiché :
en bas d'écran, l'îcone WORD clignote et en cliquant dessus, le fichier Word
est affiché par dessus ma feuille Excel.
Donc le fichier est bien ouvert par ma macro mais l'affichage ne fonctionne pas.

Par contre, si j'ouvre Visual Basic et me positionne sur une macro quelconque, lorsque je relance la macro à partir de la feuille Excel, le fonctionnement est complet : l'affichage du fichier Word se fait bien.

Avez-vous une réponse à ce dysfonctionnement ?
Merci pour votre aide.

Dadu35

2 réponses

Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
663
Bonjour,

Essaie avec ceci:
Sub PublipostageVisualisation()
'======================================================================
' Visualisation d'un fichier de Publipostage
'======================================================================
    Dim FicVoeux As String
    Dim WordApp As Word.Application
    Dim WordDoc As Word.Document

  ' Détermination des paramètres de début
    Call Choix_Paramètres
        
   FicVoeux = RepertoirePublipostage & "Voeux_Clients.docx"
    
    On Error Resume Next
    Set WordApp = GetObject(, "Word.Application")
    Set WordDoc = WordApp.Documents(FicVoeux)
    On Error GoTo 0
 
    If WordDoc Is Nothing Then
        MsgBox "Le document est fermé"
      'ouvre session word
    Set WordApp = New Word.Application
    'ouvre du document Word
     WordApp.Visible = True
    Set WordDoc = WordApp.Documents.Open(FicVoeux)
  AppActivate "word", 1 'Word en 1er plan
  Else
        MsgBox "Le document est ouvert"
      ' si le fichier Word est déjé ouvert, passage direct à l'affichage
       WordApp.Visible = True
         AppActivate "word", 1 'Word en 1er plan
    End If
    
End Sub

Messages postés
7
Date d'inscription
lundi 15 octobre 2012
Statut
Membre
Dernière intervention
21 janvier 2019

Bonjour Le Pivert,

super, cela fonctionne.
Je regarde la différence avec ma macro pour apprendre.
Merci et bon W.E.

Dadu35