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

Macros et VBA Excel Discussion :

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


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif Avatar de coco1397
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2016
    Messages : 58
    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 !

    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
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par coco1397 Voir le message
    Il s'agit d'une fonction qui va créer un fichier word
    Dans ce cas, pourquoi ne pas avoir posé la question dans la rubrique VBA Word du forum ?

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

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2016
    Messages : 58
    Par défaut
    Ma fonction se lance sur Excel, c’est pour ça. Faudrait que je lance une discussion sur un autre forum (VBA Word) ?

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par coco1397 Voir le message
    Ma fonction se lance sur Excel, c’est pour ça. Faudrait que je lance une discussion sur un autre forum (VBA Word) ?
    Etant donné que la question se rapporte à des objets Word, je pense que ce serait judicieux.
    Le fait que la macro se lance dans Excel, dans Word ou dans PowerPoint ne changera sans doute rien à la réponse (mais je peux me tromper, ne sachant pas tout de ton problème).

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

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2016
    Messages : 58
    Par défaut
    Merci de ta réponse ! Je vais créer une discussion du même genre sur le forum Word VBA ! Je laisse la discussion ouverte ici en attendant qu’éventuellement quelqu’un ait une réponse tout de même

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

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2016
    Messages : 58
    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. Réponses: 4
    Dernier message: 13/01/2015, 20h07
  2. Compréhension de code, fonction buf() et strcle()
    Par Invité dans le forum Débuter
    Réponses: 2
    Dernier message: 16/07/2013, 14h22
  3. [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
  4. Réponses: 1
    Dernier message: 26/02/2008, 09h08
  5. mettre du code dans la création d'un fichier php
    Par steam_o_roll dans le forum Langage
    Réponses: 6
    Dernier message: 28/05/2007, 15h31

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