Excel VBA problème avec une macro

Résolu
dadu35 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
dadu35 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

2 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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
dadu35 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Le Pivert,

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

Dadu35
0