IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

Compréhension de code (fonction de création de fichier word)


Sujet :

VBA Word

  1. #1
    Membre du Club Avatar de coco1397
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2016
    Messages : 58
    Points : 67
    Points
    67
    Par défaut Compréhension de code (fonction de création de fichier word)
    Bonjour,

    J'ai repris un programme en VBA avec plusieurs fonctions (de plus non commentés) et je suis bloqué sur une.

    Il s'agit d'une fonction qui va créer un fichier word et je bloque totalement sur son fonctionnement !

    Cette fonction se lance depuis Excel.

    Voici la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    Sub publipostage(nomPublipostage As String, nomTable As String)
     
        NOM_FEUILLE_EXCEL = "\" & ThisWorkbook.Name
     
        Dim MonWord As Object
        Dim Publipostage1
     
        Set MonWord = CreateObject("Word.Application")
        'MonWord.Visible = True
        MonWord.DisplayAlerts = wdAlertsNone
     
        Set Publipostage1 = MonWord.Documents.Open(Filename:=CHEMIN & nomPublipostage, ConfirmConversions:=True, _
            ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _
            PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _
            WritePasswordTemplate:="", XMLTransform:="")
     
        On Error GoTo Test
     
        Publipostage1.MailMerge.OpenDataSource Name:= _
            CHEMIN & NOM_FEUILLE_EXCEL, _
            ConfirmConversions:=True, ReadOnly:=False, LinkToSource:=True, _
            AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
            WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
            Connection:="Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=" & CHEMIN & _
            NOM_FEUILLE_EXCEL & ";Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet ", _
            SQLStatement:="SELECT * FROM " & nomTable, SQLStatement1:=""
     
        With Publipostage1.MailMerge
            .Destination = wdSendToNewDocument
            .SuppressBlankLines = True
            .Execute Pause:=False
        End With
     
        Publipostage1.Close False
        MonWord.DisplayAlerts = wdAlertsAll
        MonWord.Visible = True
        Set Publipostage1 = Nothing
     
    Test:
        If Err.Number = 9105 Then
            Publipostage1.Close True
            MsgBox MSG_BOX_PUBLI
        End If
     
    End Sub
    De plus, dans mon programme, elle doit être utilisée deux fois.
    Sur le 1er fichier, il fonctionne bien.
    Sur le 2ème fichier, une erreur apparaît après un bon moment avec cette erreur: Microsoft Excel attend la fin de l'exécution d'une action OLE d'une autre application

    J'aimerais tout simplement comprendre mieux pourquoi le code ci-dessus ne fonctionne

    Merci d'avance de votre aide

  2. #2
    Membre du Club Avatar de coco1397
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2016
    Messages : 58
    Points : 67
    Points
    67
    Par défaut
    C'est tout bon.
    Le problème venait d'un fichier un word qui la fonction allait chercher et il y avait des champs en trop.... Tout simplement...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compréhension de code (fonction de création de fichier word)
    Par coco1397 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/10/2017, 20h24
  2. Réponses: 4
    Dernier message: 13/01/2015, 20h07
  3. Compréhension de code, fonction buf() et strcle()
    Par Invité dans le forum Débuter
    Réponses: 2
    Dernier message: 16/07/2013, 14h22
  4. [XL-2003] Création de fichier Word
    Par trash_07 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 11/05/2011, 16h29
  5. Réponses: 1
    Dernier message: 26/02/2008, 09h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo