Excel VBA problème avec une macro

Résolu
dadu35 Messages postés 9 Statut Membre -  
dadu35 Messages postés 9 Statut Membre -
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

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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
    

    0
  2. dadu35 Messages postés 9 Statut Membre
     
    Bonjour Le Pivert,

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

    Dadu35
    0