Erreur macro ouverture fichier word depuis Excel

Bonjour

J'utilise un programme de dimensionnement qui calcule depuis excel quel appareil mettre. J'ai ensuite une macro (mise au point grace à votre aide, encore merci), qui m'envoie les données dans une trame de fiche technique.

Certaines fois, la ligne de mise au premier plan du word me fait planter la macro. Je précise qu'au moment du plantage, aucun autre fichier word n'est ouvert.

Auriez vous une idée d'ou le problème pourrait venir?

Ci dessous un exemple de macro utilisée.

D'avance merci pour votre aide

Sub Fiche_SD2500()

'
    Set WordApp = CreateObject("word.Application")
    WordApp.Visible = True
    AppActivate WordApp.Caption

    If FichierEstOuvert(Environ("userprofile") & "\DeskTop\Programme de dimensionnement\fiches programme dimensionnement\0320-Fiche technique SD 2500.docx") Then

   MsgBox ("Le document est déjà ouvert")

   Else

    WordApp.Documents.Open Environ("userprofile") & "\DeskTop\Programme de dimensionnement\fiches programme dimensionnement\0320-Fiche technique SD 2500.docx"

     WordApp.ActiveDocument.Tables(1).Cell(1, 1).Range.Text = Sheets("FT SD 2500 ").Range("B2").Value

    WordApp.ActiveDocument.Tables(2).Cell(1, 2).Range.Text = Sheets("FT SD 2500 ").Range("J3").Value

    WordApp.ActiveDocument.Tables(2).Cell(2, 2).Range.Text = Sheets("FT SD 2500 ").Range("E5").Value

    WordApp.ActiveDocument.Tables(2).Cell(3, 2).Range.Text = Sheets("FT SD 2500 ").Range("E6").Value

    WordApp.ActiveDocument.Tables(2).Cell(5, 2).Range.Text = Sheets("FT SD 2500 ").Range("E9").Value

    WordApp.ActiveDocument.Tables(2).Cell(6, 2).Range.Text = Sheets("FT SD 2500 ").Range("E8").Value

    WordApp.ActiveDocument.Tables(2).Cell(9, 2).Range.Text = Sheets("FT SD 2500 ").Range("E10").Value

    WordApp.ActiveDocument.Tables(2).Cell(10, 2).Range.Text = Sheets("FT SD 2500 ").Range("E14").Value

    WordApp.ActiveDocument.Tables(3).Cell(1, 2).Range.Text = Sheets("FT SD 2500 ").Range("C16").Value

    WordApp.ActiveDocument.Tables(3).Cell(2, 2).Range.Text = Sheets("FT SD 2500 ").Range("C17").Value

    WordApp.ActiveDocument.Tables(3).Cell(3, 2).Range.Text = Sheets("FT SD 2500 ").Range("C18").Value

    WordApp.ActiveDocument.Tables(3).Cell(4, 2).Range.Text = Sheets("FT SD 2500 ").Range("C19").Value

    WordApp.ActiveDocument.Tables(3).Cell(1, 6).Range.Text = Sheets("FT SD 2500 ").Range("G16").Value

    WordApp.ActiveDocument.Tables(3).Cell(2, 6).Range.Text = Sheets("FT SD 2500 ").Range("G17").Value

    WordApp.ActiveDocument.Tables(3).Cell(3, 6).Range.Text = Sheets("FT SD 2500 ").Range("G18").Value

End If

Set WordApp = Nothing

End Sub

Bonjour,

Que contient votre fonction FichierEstOuvert ?

Merci pour votre prise en compte.

La fonction fichier est ouvert vérifie si la fiche word que j'ouvre n'est pas déjà ouverte car sinon ça plante.

Il me donne Erreur d'exécution '5' Argument ou appel de procédure incorrect.

Le débogage m'indique un soucis sur la ligne :

AppActivate WordApp.Caption

Je vous demandais de mettre en ligne votre fonction.

A tester :

Sub Fiche_SD2500()

Dim Continuer As Boolean
Dim I As Integer
'Dim WordApp As Word.Application, WordDoc As Word.Document  ' En early binding (Si Word est référencé) en mode développement.
Dim WordApp As Object, WordDoc As Object ' En late binding une fois vérifié le bon fonctionnement.

Dim Chemin As String
Dim Sh As Worksheet

    Set Sh = Sheets("FT SD 2500 ")

    Chemin = ActiveWorkbook.Path & "\0320-Fiche technique SD 2500.docx"
   ' Chemin = Environ("userprofile") & "\DeskTop\Programme de dimensionnement\fiches programme dimensionnement\0320-Fiche technique SD 2500.docx"

    Set WordApp = GetObject(, "Word.Application")
    With WordApp
        .Visible = True
        Continuer = True
        If .Documents.Count > 0 Then
           For I = 1 To .Documents.Count
               If .Documents(I).Name = "0320-Fiche technique SD 2500.docx" Then
                  Set WordDoc = .Documents(I)
                  Continuer = False
               End If
           Next I

        End If

        If Continuer = True Then Set WordDoc = .Documents.Open(Chemin)

    End With

    With WordDoc

         .Tables(1).Cell(1, 1).Range.Text = Sh.Range("B2").Value

         With .Tables(2)
              .Cell(1, 2).Range.Text = Sh.Range("J3").Value
              .Cell(2, 2).Range.Text = Sh.Range("E5").Value
              .Cell(3, 2).Range.Text = Sh.Range("E6").Value
              .Cell(5, 2).Range.Text = Sh.Range("E9").Value
              .Cell(6, 2).Range.Text = Sh.Range("E8").Value
              .Cell(9, 2).Range.Text = Sh.Range("E10").Value
              .Cell(10, 2).Range.Text = Sh.Range("E14").Value
        End With

        With .Tables(3)
                .Cell(1, 2).Range.Text = Sh.Range("C16").Value
                .Cell(2, 2).Range.Text = Sh.Range("C17").Value
                .Cell(3, 2).Range.Text = Sh.Range("C18").Value
                .Cell(4, 2).Range.Text = Sh.Range("C19").Value
                .Cell(1, 6).Range.Text = Sh.Range("G16").Value
                .Cell(2, 6).Range.Text = Sh.Range("G17").Value
                .Cell(3, 6).Range.Text = Sh.Range("G18").Value
        End With

    End With

    Set WordApp = Nothing:   Set WordDoc = Nothing
    Set Sh = Nothing

End Sub

Désolé mais je suis débutant en vba. Je ne saisi pas ce que vous voulez. J'ai entièrement copié/collé la macro que j'utilise.

Elle plante aléatoirement et pas pour tous les utilisateurs.

Avez-vous essayé mon code ?

Rechercher des sujets similaires à "erreur macro ouverture fichier word"