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

Contribuez Discussion :

Fusion et publipostage - Insertion d'images - Liste ds Excel - VBA ou Word [FAQ]


Sujet :

Contribuez

  1. #21
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    Bonjour,

    J'ai refais en simplifiant.
    J'ai mis le champ image sur la page et aussi dans une zone de texte.

    Résultat : l'image reste bloquée sur la denière appelée quel que soit l'enregistrement à la fusion, mais également à l'aperçu écran.
    Certes, dans ce dernier cas, il suffit de faire Ctrl A et F9; ce que j'ai paramétré par macros sur les boutons Premier, Précédent, Suivant et Dernier; ce qui fonctionne très bien pour l'image de la zone de texte.

    Mais le pb demeure entier pour la fusion.

    Merci
    Fichiers attachés Fichiers attachés

  2. #22
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Points : 16
    Points
    16
    Par défaut
    Bonjour marc!

    Alors j'ai essayé tes fichiers mais sans utiliser ton document Word avec macros.
    (pourquoi commencer à compliquer les choses ? ). J'ai donc fait le publipostage avec un fichier Word ordinaire.

    1/J'insère les champs de fusion "prénom" et "photo" (avec includepicture <=attention tu as oublié les guillemets qui doivent encadrer mergefield photo)

    2/je fusionne vers un nouveau document.
    CTRL+A
    F9

    3/Toutes les images sont là. Toutes différentes. Une par page. Et elles sont également visibles dans l'aperçu avant impression.

    (Attention : en aucun cas je n'ai enregistré le document principal. Le fait de l'enregistrer entraine la mise à jour du lien du champ includepicture. Toute la manip' tombe à l'eau alors. A partir du document principal, j'ai simplement fusionné vers un nouveau document [qui peut être enregistré sans problème])

    Peux tu retenter ces manipulations ? et please sans macros ! Faut faire dans le basique.



    [IMG][/IMG]

  3. #23
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    Bonjour Petitorco,

    Effectivement, ca fonctionne!

    J'ai essayé ça dans tous les sens.

    Dans le fichier-type Word, il ne faut pas que le champ image soit dans une zone de texte car Word ne sélectionne pas les zones de texte avec la commande CTRL A et il faut effectivement mettre les guillemets dans la syntaxe INCLUDEPICTURE.
    Dans le fichier Excel, il faut indiquer le chemin avec des doubles \\, mais pas besoin d'indiquer le chemin complet (C:\\Répertoire\\Sous-répertoire\\...jpg) si on a pris soin de placer le dossier des images dans le même répertoire que le fichier-type Word (Dossier Images\\...jpg).

    Il est possible et pratique de programmer la commande Ctrl A et F9 dans une macro qui se lance avec les boutons Premier, Précédent, Suivant et Dernier de la barre d'outils car ça met les champs automatiquement à jour.
    Seul bémol : le confort visuel, car toutes les lignes restent sélectionnées en noir.
    Il faudrait pouvoir disposer d'une commande inverse à Ctrl A. Si tu as une idée...

    Il serait bien aussi de pouvoir mettre semblable macro juste après la fusion, mais comme on est sur uin nouveau fichier, ce n'est pas possible. Donc on restera sur le Ctrl A et F9 manuel.

    En tt cas merci de ton aide.

  4. #24
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par marcb03 Voir le message
    ... mais pas besoin d'indiquer le chemin complet (C:\\Répertoire\\Sous-répertoire\\...jpg) si on a pris soin de placer le dossier des images dans le même répertoire que le fichier-type Word (Dossier Images\\...jpg).
    Et zut! Je rectifie : Il faut bien indiquer le chemin complet.
    Cela n'est pas nécessaire pour actualiser le fichier-type en passant d'un enregistrement à l'autre, mais ça ne passe pas quand il s'agit d'actualiser le fichier dans lequel on a fait la fusion.

    Désolé

  5. #25
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par marcb03 Voir le message
    Il serait bien aussi de pouvoir mettre semblable macro juste après la fusion, mais comme on est sur uin nouveau fichier, ce n'est pas possible. Donc on restera sur le Ctrl A et F9 manuel.
    Si, c'est possible. Je viens de le faire et ça fonctionne!

    Reste seulement le souci du visuel car ttes les lignes du fichier restent sélectionnées en surimpression à l'écran.

    Merci

  6. #26
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Points : 16
    Points
    16
    Par défaut
    Bonsoir,

    Content que ça fonctionne !

    Je t'avais bien dit à un moment d'oublier les zones de texte. (j'étais sûr que ça poserait problème pour la mise à jour avec ctrl+a et f9<=même si y a des solutions). Préfère le tableau à la zone de texte.

    Sinon pour ton problème de macro, poste un nouveau message sur le forum ce sera plus simple. Y en a qui sauront mieux te répondre que moi !

    (pour ton problème de lisibilité, termine ta macro par une instruction de type : "atteindre première ligne". Ça devrait t'enlever la sélection. En tout cas, c'est ce que je ferais moi si j'avais ce souci. )

  7. #27
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 71
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par petitorco Voir le message
    (pour ton problème de lisibilité, termine ta macro par une instruction de type : "atteindre première ligne". Ça devrait t'enlever la sélection. En tout cas, c'est ce que je ferais moi si j'avais ce souci. )
    Apparemment, dans l'aide de Word, il est bien précisé que les macros ne peuvent faire appel qu'à des fonctions du clavier ou des boutons de commande, et pas sélectionner dans le fichier.
    Donc on peut faire faire Ctrl A puisque c'est un raccourci clavier.
    Sauf à bidouiller le VBA, mais là ...

    Effectivement, cela mériterait un autre topic.
    Je varrai plus tard, car là j'ai assez passé de temps sur ce truc et tt ça pour une assoce dont je suis bénévole ...

    Encore merci!

  8. #28
    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,

    Le Ctrl + A sélectionne le contenu du document.
    Ensuite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Fields.UpDate
    Pourl a mise à jour

    Et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Collapse (wdCollapseEnd)
    Pour éliminer la surbrillance en déplaçant le point de sélection à la fin du document

  9. #29
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    bonjour,

    j'ai utilisé les infos des premiers posts, mais ça ne fonctionne pas chez moi (excel et word 2007)

    mon champ photo est issu d'une formule créant le lien hypertexte vers la photo

    sous excel, si je clique sur le lien l'image s'affiche correctement.

    mais lors de la fusion, pas d'image, elle s'affiche mais vide.

    pour info, mes liens sont relatifs, ..\..\photos\NOM_Prenom.jpg

    est-ce que cela peut être la source du problème?

    merci d'avance pour vos réponses

  10. #30
    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,

    Ça ne peut pas fonctionner.
    Le chemin des images doit avoir un double backslash \\

  11. #31
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    en fait, je progresse un peu,

    au lieu de faire les choses à la main, j'ai utilisé les "assistants" disponible dans 2007

    soit (j'ai mis le raccourci dans la zone de lancement rapide de word) insérer champ > inclure image

    puis me placer au bon endroit et onglet publipostage insérer champ fusion

    et pour info, simple ou double \, visiblement ça fonctionne. (j'ai essayé les 2)

    mon nouveau souci est que après la fin de la fusion, si je fait CTRL + A et F9, la photo se met à jour en fonction de l'enregistrement sur lequel je me trouve et elle est identique pour tous les enregistrements.

    ce qui me gène beaucoup.

    merci d'avance pour vos réponses et idées.

    Jay69

  12. #32
    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 toutes les images sont identiques, c'est que la fusion n'est pas terminée.
    Il faut terminer la fusion pour que toutes les images soient mise à jour, le mode prévisualisatio ne fonctionne pas.

  13. #33
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    il semble qu'il soit nécessaire de faire la mise à jour du champ image après la fusion et ensuite seulement de basculer sur le résultat.

    en effet lorsque je fait la mise à jour lors de la création du document à partir de l'assistant fusion et publipostage, ça garde la même photo.

    je ne sais pas si la macro proposée résout ce problème.

  14. #34
    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
    Citation Envoyé par jay.69 Voir le message
    il semble qu'il soit nécessaire de faire la mise à jour du champ image après la fusion et ensuite seulement de basculer sur le résultat.

    en effet lorsque je fait la mise à jour lors de la création du document à partir de l'assistant fusion et publipostage, ça garde la même photo.

    je ne sais pas si la macro proposée résout ce problème.
    C'est ce que j'ai écrit, il faut terminer la fusion.

  15. #35
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    j'ai bien compris, mais si tu veux, je termine la fusion par une impression pdf.

    donc si je fais simplement imprimer les documents dans l'onglet terminer&fusionner, sans vérifier les documents individuels, ça ne fonctionne pas.

    en effet, la macro qui permet la maj des champs doit être effectuée dans le document résultant de la fusion et non dans celui de construction.

    la question que je me pose alors est la suivante :

    est-il possible de lancer la fusion (éventuellement dans un fichier dont on fixe le nom et le répertoire de sauvegarde identique au fichier source) puis mettre les champs à jour dans le document ouvert et enfin, imprimer en pdf?

    plutôt que d'avoir trois étapes distinctes, dans des fichiers différents.

  16. #36
    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,

    Il faut terminer la fusion, mais pas aller jusqu'à l'impression. Il faut choisir modifier les documents individuels.

  17. #37
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    oui (j'ai vu et fait), et justement, c'est ce qui m'ennuie,

    car ça oblige à créer un nouveau doc issu de la fusion, puis faire les maj et ensuite, seulement imprimer.

    ce qui n'est pas le cas pour tous les champs de fusion standards.

    l'idée serait d'avoir par programmation la possibilité de faire ces 3 tâches de manière transparente.

    genre un bouton d'action qui lancerait la fusion,
    ouvrirait en arrière plan le nouveau doc
    mettrait à jour les champs
    puis imprimerait le pdf avec le bon nom et au bon endroit.

    mais on peut toujours rêver...

  18. #38
    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,

    Peut-être un peu de lecture ?
    http://heureuxoli.developpez.com/off.../publipostage/

  19. #39
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 34
    Points : 33
    Points
    33
    Par défaut
    je viens d'utiliser le post qui est dans le forum général ([WD-2000] Publipostage image - Ctrl A + F9) auquel tu as répondu aussi, en utilisant le code proposé, et en le modifiant en fonction de mes besoins, ça fonctionne presque parfaitement

    je mets 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
    49
     
    Attribute VB_Name = "NewMacros"
    Sub TestPublipost()
    ' Déclaration des variables
    Dim iR As Integer
    Dim i As Integer
    Dim oDoc As Document
    Dim DocName As String
    Dim oDS As MailMergeDataSource
     
    ' Affectation des objets
    Set oDoc = ActiveDocument
    Set oDS = oDoc.MailMerge.DataSource
     
    iR = 16
    Debug.Print iR
    For i = 1 To iR
        With oDoc.MailMerge
            'Définition du premier et dernier enregistrement
            .DataSource.FirstRecord = i
     
            .DataSource.LastRecord = i
            ' Envoi des données dans un nouveau document
            .Destination = wdSendToNewDocument
            ' Exécution du publipostage
            .Execute
            ' Actualisation de l'enregistrement pour la sauvegarde
            .DataSource.ActiveRecord = i
            'Utilisation de deux champs pour obtenir le nom du document
            DocName = .DataSource.DataFields(1).Value + .DataSource.DataFields(2).Value
                    Debug.Print DocName; i
        End With
        ' Sauvegarde du document publiposté
        With ActiveDocument
            If ActiveWindow.View.ShowFieldCodes Then
                       DoEvents
        			Selection.WholeStory 'sélectionne tout le texte de la lettre type
        			Selection.Fields.Update 'Met les champs à jour (affiche les images)
         			ActiveWindow.View.ShowFieldCodes = False
            		.SaveAs "C:\Documents and Settings\saintomj\Bureau\2010-2011\Carnets_Habilitation\" & DocName & ".doc"
            		.Close
         	Else
             	ActiveWindow.View.ShowFieldCodes = True
        	End If
        End With
     
     
    Next i
    End Sub


    il me reste 2 soucis

    le premier c'est comment connaitre le nombre d'enregistrement non vide de la source, vue que l'instruction

    IR=MailMerge.DataSource.RecordCount

    ne fonctionne pas chez moi


    le second soucis, c'est comment faire en sorte de mettre un cadre vide si la photo n'existe pas.

    dernier point, serait-il possible d'avoir tout ça en chemin relatif car je peux être amener à échanger les fichiers avec des collègues qui en font la mise à jour.

    merci de tes réponses en tous les cas.

  20. #40
    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,

    Ce code est issu du tuto dont j'avais donné le lien.
    La raison pour laquelle le recordCount ne fonctionne pas m'échappe.

    Par contre, je ne vois pas très bien l'intérêt de partager les fichiers publipostés au lieu de la source de données.

    En général, le publipostage est une phase finale.
    Si la photo n'existe pas, tu peux toujours compenser par un test if sur le champ.
    Ou mettre une image générique.

Discussions similaires

  1. liste deroulante excel + vba
    Par Maxime082 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 09/05/2011, 21h42
  2. Réponses: 10
    Dernier message: 24/04/2008, 15h22
  3. Liste déroulante Excel VBA
    Par a.dequidt dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/09/2007, 16h34
  4. Publipostage et insertion d'images
    Par stefane26 dans le forum Word
    Réponses: 3
    Dernier message: 20/06/2007, 21h39

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