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

Word Discussion :

Boite de dialogue indesirable lors d'un publipostage d'enveloppe Word/Excel


Sujet :

Word

  1. #1
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut Boite de dialogue indesirable lors d'un publipostage d'enveloppe Word/Excel
    Bonsoir
    Je cree un publipostage d'enveloppe avec VB Word les donnees sont dans un classeur Excel, la fusion se fait correctement, mais j'ai une boite de dialogue qui s'ouvre et je n'arrive pas a enpecher cela, voici le code pour ouvrir la source de donnees
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        ActiveDocument.MailMerge.OpenDataSource Name:="C:\tableau.xls", _
            ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
            AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
            WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
            Format:=wdOpenFormatAuto, Connection:="", SQLStatement:="", SQLStatement1 _
            :="", SubType:=wdMergeSubTypeOther
    Texte de la boite de dialogue
    Sélectionner le tableau
    Feuil1$ ......
    Y a t'il une facon de ne pas afficher cette boite de dialogue, ou une autre facon d'ouvrir la source de donnees
    si la totalite du code est necessaire je la posterais
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Tu ne nous donnes pas la version de tes logiciels.

    Le tout est de savoir si ton document est un document principal de fusion, si c'est le cas, il n'est pas utile de repréciser la source.

    http://heureuxoli.developpez.com/off.../publipostage/
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Merci de ta reponse Heureux-oli
    Les testes on ete fait sous Windows XP pack2 et Office 2003, je poste le code
    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
    47
    48
     
    Sub Macro33()
    '
    ' Macro33 Macro
    ' Macro enregistrée le 16/12/2008 par blondelle
    '
    ActiveDocument.MailMerge.MainDocumentType = wdEnvelopes '2
    ActiveDocument.Envelope.DefaultSize = "DL"
    ActiveDocument.Envelope.Insert Address:="", ReturnAddress:=""
        Selection.Font.Size = 8
        Selection.Font.Name = "Arial"
        Selection.TypeText Text:="blondelle jean-pierre"
        Selection.TypeParagraph
        Selection.TypeText Text:="chemin"
        Selection.TypeParagraph
        Selection.TypeText Text:="quartier"
        Selection.TypeParagraph
        Selection.TypeText Text:="30000 Ville"
        Selection.TypeParagraph
        Selection.TypeText Text:="France"
     
     ActiveDocument.Envelope.Address.Select
     
        Selection.MoveDown Unit:=wdLine, Count:=2 '5
        ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:="Prenom"
        Selection.TypeText " "
        ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:="Nom"
        Selection.TypeParagraph
        ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:="ADRESSE"
        Selection.TypeParagraph
        ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:="CODE_POSTAL"
        Selection.TypeText " "
        ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:="Ville"
     
        ActiveDocument.MailMerge.OpenDataSource Name:="C:\tableau.xls", _
            ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
            AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
            WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
            Format:=wdOpenFormatAuto, Connection:="", SQLStatement:="", SQLStatement1 _
            :="", SubType:=wdMergeSubTypeOther '0 , 0
     
    With ActiveDocument.Envelope.AddressStyle.Font
        .Bold = True
        .Name = "Times New Roman"
        .Size = 16
    End With
    ActiveDocument.MailMerge.Execute
    End Sub
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    C'est une macro enregistrée pour créer un document depuis un document vierge.

    La solution serait de partir d'un vrai document de fusion et ensuite simplement lancer le publipostage.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #5
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Si je defini mes champs dans un document et que je lance la fusion je devrais utiliser ce code, et apparement c'est cette portion de code qui ouvre la boite de dialogue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveDocument.MailMerge.OpenDataSource .........
    a moins qu'il y est une autre facon de faire mais la je ne l'ai pas trouvee
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,
    Si c'est un document principal de fusion ce n'est pas de cette manière.

    Il n'y a que la fusion à faire.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveDocument.MailMerge.Execute
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  7. #7
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Si je comprend bien il faut preparer une Enveloppe avec les champs d'insertion et sauvegarder le Document, pour effectuer le Mailling il faut ouvrir le Document et simplement lancer " ActiveDocument.MailMerge.Execute "
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  8. #8
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Correct !

    Prendre un document de base et lui ajouter une source de données en VBA n'est pas suffisant. Il doit avoir été sauvegardé en tant que principal de fusion.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  9. #9
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Merci pour tes renseignements Heureux-oli
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  10. #10
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Pour information on ne sais jamais c'est peut etre possible en VB pour Word, le code a ete traduit en C++ Builder et a l'aide d'un Thread je capture les parametres de la boite de dialogue puis je simule un click souris, et la il n'y a plus aucune intervention
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

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

Discussions similaires

  1. [WD-2007] Publipostage inversé (de word à excel)
    Par orell75017 dans le forum Word
    Réponses: 12
    Dernier message: 29/03/2011, 23h28
  2. Réponses: 2
    Dernier message: 31/07/2010, 12h32
  3. Publipostage par mail Word-Excel pas d'envoi du mail
    Par Didpa dans le forum VBA Word
    Réponses: 0
    Dernier message: 26/05/2010, 12h35
  4. Réponses: 2
    Dernier message: 09/03/2008, 18h36
  5. Réponses: 2
    Dernier message: 06/10/2006, 14h31

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