Excel VBA problème avec une macro

Résolu/Fermé
dadu35 Messages postés 7 Date d'inscription lundi 15 octobre 2012 Statut Membre Dernière intervention 21 janvier 2019 - 19 sept. 2015 à 13:42
dadu35 Messages postés 7 Date d'inscription lundi 15 octobre 2012 Statut Membre Dernière intervention 21 janvier 2019 - 19 sept. 2015 à 18:47
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
19 sept. 2015 à 18:28
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 lundi 15 octobre 2012 Statut Membre Dernière intervention 21 janvier 2019
19 sept. 2015 à 18:47
Bonjour Le Pivert,

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

Dadu35
0