Problème de publipostage au départ d'un tableau Excel

Bonjour,

Gros souci au boulot j'ai conçu un tableau excel qui me facilite fortement le travail et qui facilite la visibilité des différents dossiers.

Malheureusement là ou cela se complique et je ne trouve pas de solution,...alors que je supose qu'il doit en exister une je n'arrive pas à réaliser un publipostage ou tous les éléments figurant sur le tableau excel doivent figurer sur le publipostage.

Hors cela fait 4 jours que je cherche dès que j'ai un moment de temps, sur les différents forum, tuto, youtube et ne trouve rien qui puisse s'adapter à mon problème et malheureusement je dois envoyer le publipostage ce lundi 22 janvier 2018.

Si quelqu'un à des explications et/ou un truc qui pourrait m'aider je lui en serai super reconnaissant.

D'avance merci pour vos réponses et/ou éléments de pistes.

Bien à vous

Bon week-end

10test1.xlsx (32.60 Ko)

Bonjour,

Une piste à adapter, attention à bien insérer les signets dans le document Word afin que les valeurs soient misent au bon endroit.

Activer la référence Microsoft Word xx.x Object Library :

Sub ExcelVersWord()

    Dim AppWord As Word.Application
    Dim Doc As Word.Document
    'Dim Texte As Word.Range

    'crée une instance de Word
    Set AppWord = CreateObject("Word.Application")

    With AppWord

        .Visible = True

        'ouvre un document
        Set Doc = .Documents.Open(ThisWorkbook.Path & "\" & "NOTIFICATION_TEST.docx")

        With Doc

            'faire le choix :
            'remplace les signets par les textes des cellules A1 et B1
'            .Bookmarks("Monsignet").Range.Text = Range("A1")
'            .Bookmarks("Monsignet2").Range.Text = Range("B1")

            'insère le texte après les signets donc, faire bien attention à l'emplacement des signets !
            .Bookmarks("1").Range.InsertAfter Worksheets("Feuil1").Range("B4")
            .Bookmarks("2").Range.InsertAfter Worksheets("Feuil1").Range("F4")

        End With

    End With

End Sub

Bonsoir,

J'ai bien reçu votre proposition, mais je suis un peu "nouille" côté" publipostage car c'est la première fois que j'aborde ce sujet.

Déjà que c'était la première fois que je m'attaquais à excel et apparament, je m'en suis sorti pas trop mal pour une première fois. Dixit les personne qui travaille dans le département où je viens d'être engagé.

Par contre, comme les personnes qui travaillis dans le département ne traitaient que cinquante dossier (examen + présentattion à une commission, V et ensuite envoi par mail). On m'a demandé que comme j'étais graphiste (donc automatiquement très fort en informatique !!!! +Bof, bof, bof) Mon nouvel employeur est super content que j'ai pu préparer 250 dossier sur le mois au lieu des 50 habituels, mais il faut maintenant faire le publipostage sur base du fichier excel que j'avais joint. Mais à part un essais vis un tuto sur youtube où l'on explique s'implement comment faire un publipostage sur base d'une adresse, d'un nom et prénom. Je n'ai aucune expérience à part un test du publipostage.

Donc, ce que vous m'avez fait parvenir,...je n'ai aucune idée de ce que je dois en faire et/ou dois-je l'insérer afin de l'utiliser.

Naturellement, je vous remercie de prompt réponse, ...mais je vous serai super reconnaissant,...si vous pouviez m'en dire plus sur la manière de procéder sur base de l'explication que vous m'avez envoyée !!!

Encore merci pour tout.

Bien à vous

Bonjour,

Une piste à adapter, attention à bien insérer les signets dans le document Word afin que les valeurs soient misent au bon endroit.

Activer la référence Microsoft Word xx.x Object Library :

Sub ExcelVersWord()

    Dim AppWord As Word.Application
    Dim Doc As Word.Document
    'Dim Texte As Word.Range

    'crée une instance de Word
    Set AppWord = CreateObject("Word.Application")

    With AppWord

        .Visible = True

        'ouvre un document
        Set Doc = .Documents.Open(ThisWorkbook.Path & "\" & "NOTIFICATION_TEST.docx")

        With Doc

            'faire le choix :
            'remplace les signets par les textes des cellules A1 et B1
'            .Bookmarks("Monsignet").Range.Text = Range("A1")
'            .Bookmarks("Monsignet2").Range.Text = Range("B1")

            'insère le texte après les signets donc, faire bien attention à l'emplacement des signets !
            .Bookmarks("1").Range.InsertAfter Worksheets("Feuil1").Range("B4")
            .Bookmarks("2").Range.InsertAfter Worksheets("Feuil1").Range("F4")

        End With

    End With

End Sub

Bonjour,

Le code que je t'ai donné montre juste comment insérer des valeurs au niveau des différents signets mais ce n'est absolument pas un outils abouti pour le publipostage !

Pour faire du publipostage, il faut construire un tableau avec les coordonnées des personnes visées. Dans ton document Word, il faut créer des signets et les insérer aux bons endroits avec des noms explicites pour pouvoir affecter les valeurs voulues.

Le classeur Excel que tu as fait est bien joli mais pas du tout adapté à du publipostage.

Ton classeur doit être construit comme une base de données avec tous les champs dont tu as besoin (Nom, Prénom, Adresse 1 et 2, CP, Ville, Téléphone, Portable, Email, etc...) pour pouvoir boucler dessus.

A ce que je vois, tu veux aussi insérer les valeurs concernant les entreprises, fonctions, périodes, etc... de chaque personne ce qui n'est pas sans poser problème car tu pourrais effectivement mettre ces valeurs dans la base de données mais il faudrait créer autant de champs que le maximum d'entreprises fréquentées par la personne qui a le plus "bougée" ('Entreprise1, Entreprise2, Entreprise3, etc...) et de même pour les fonctions et dates

Le mieux peut être mais ce n'est que mon avis et d'autres intervenants auront de meilleures idées, serait de créer un champ "Entreprises" et entrer les valeurs dans la cellule avec un retour à la ligne pour chaque entreprise et de même pour la fonction exercée dans l'entreprise (champ Fonction) correspondante et de même pour les dates, avec date d'entrée et date de sortie sur la même ligne et séparées par un tiret par exemple.

Durant le bouclage sur la base de données, arrivé à ces champs, utiliser la fonction Split() pour récupérer les valeurs séparément et les insérer au bon endroit dans le document Word.

Une fois le projet construit, la création des 250 documents Word ne prendrait que quelques secondes.

malheureusement je dois envoyer le publipostage ce lundi 22 janvier 2018.

Là, par contre, ça va être dur ! Car si tu suis ma piste et que tu maîtrises VBA (ce qui de prime abords n'est pas le cas vu la réponse donnée "Donc, ce que vous m'avez fait parvenir,...je n'ai aucune idée de ce que je dois en faire et/ou dois-je l'insérer afin de l'utiliser.") tu en auras pour au moins une demi-journée entre la construction de la base de données, la construction du code et les différents tests nécessaires.

Bjr,

et ton publipostage, tu l'envoie comment ? par outlook ?? car dans ce cas il faudrait aussi maîtriser cela

si c'était le cas, autant tout faire par excel, ce que j'ai toujours fait quand il s'agissait d'envoyer des documents par messagerie

je ne connais pas du tout word et les bookmarks

Rechercher des sujets similaires à "probleme publipostage depart tableau"