Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > Contribuez
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 22/06/2007, 17h13   #1
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 469
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 469
Points : 11 906
Points : 11 906
Par défaut Fusion et publipostage - Insertion d'images - Liste ds Excel - VBA ou Word

Le but : Insérer les images dont les adresses se trouvent dans une base de données Excel.

Dans EXCEL :
Les adresses des images doivent être introduites en tant que liens vers les fichiers image,
Les séparateurs de noms de répertoires doivent comporter deux "\\" et enfin, les adresses doivent être encadrées de guillemets. Ce qui donne dans la cellule :
Citation:
"c:\\Mes images\\cocorico.jpg"
Dans WORD
1 - Afficher les codes de champs
Barre d'outils "Outils" -> Options -> Affichage -> Valider "Code de champs"
Pour se faciliter la tâche, on peut créer une macro et lui affecter des touches de fonction -> Personnaliser -> Commandes -> Macro -> Sélectionner la macro -> Bouton "Clavier"
La macro :
Code :
1
2
3
4
5
6
7
Sub CodeChampVisiblePasVisible()
    if ActiveWindow.View.ShowFieldCodes then
         ActiveWindow.View.ShowFieldCodes = False
      else
         ActiveWindow.View.ShowFieldCodes = True
    Endif
End Sub
2 - Insertion du champ "image" -> Insertion -> Champ -> IncludePicture (inclureImage)

Donne { INCLUDEPICTURE \* MERGEFORMAT }

3 - Insertion du champ de fusion
Se placer après le premier espace suivant { INCLUDEPICTURE (normalement suivi de trois espaces...)
Puis -> Barre d'outils "Publipostage" -> Icône "Insérer les champs de fusion" -> sélectionner le champ "Image" de la base de données. Le champ de fusion est inséré dans le précédent, c'est à dire dans le champ Image.

Donne {.INCLUDEPICTURE.{.MERGEFIELD."Champ Image".}..\*.MERGEFORMAT.}
où les points figurent les espaces et "Champ Image" le nom de champ.

4 - Dévalider l'affichage des codes de champs
Le message "Erreur°! Nom du fichier non spécifié." s'affiche.
Normal -> la fusion n'est pas encore réalisée.

5 - Lancer la fusion

6 - Mise à jour des champs
Dans la "lettre type" issue de la fusion, sélectionner tout le Texte (Ctrl + A) et frapper la touche F9. Les champs se mettent à jour, les images apparaissent !

Ou par macro
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub FusionEtMiseAjour()
    With ActiveDocument.MailMerge
        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
        With .DataSource
            .FirstRecord = wdDefaultFirstRecord
            .LastRecord = wdDefaultLastRecord
        End With
        .Execute Pause:=False
    End With
    DoEvents
    Selection.WholeStory 'sélectionne tout le texte de la lettre type
    Selection.Fields.Update 'Met les champs à jour (affiche les images)
End sub
Pour la solution par macro, voir le post suivant.

Dernière modification par ouskel'n'or ; 14/09/2007 à 16h05.
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2007, 09h49   #2
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 469
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 469
Points : 11 906
Points : 11 906
Remplace, par macro, les parties 1 à 6 du post précédent (!)
Dans le document Word, renseigner le nom du champ image
Se placer dans le document principal au point d'insertion de l'image puis lancer la macro.
Code :
1
2
3
4
5
Sub Macro()
Dim NomChamp as string
    NomChamp = "Champ Image"
    InsérerChampImageEtFusion NomChamp
End sub
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub InsérerChampImageEtFusion(NomDuChampImage)
    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
        PreserveFormatting:=False
    Selection.TypeText Text:="INCLUDEPICTURE "
    Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
        PreserveFormatting:=False
    Selection.TypeText Text:="MERGEFIELD " & Chr(34) & NomDuChampImage & Chr(34)
    With ActiveDocument.MailMerge
        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
        .Execute Pause:=False
    End With
    Selection.WholeStory
    Selection.Fields.Update
End Sub
NB - Penser à formater les liens dans Excel selon le modèle
Citation:
"c:\\Mes images\\cocorico.jpg"
PS - Cette méthode fait disparaître le message "Erreur°! Nom du fichier non spécifié." qui apparaît dans le document (sans conséquence quant au résultat final) avec la solution manuelle d'insertion du premier post.

Dernière modification par ouskel'n'or ; 14/09/2007 à 16h04.
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2009, 09h17   #3
Nouveau Membre du Club
 
Inscription : novembre 2008
Messages : 115
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 115
Points : 31
Points : 31
Bonjour,

Je tente le publipostage d'image et suis tombé sur ton post très complet.

Mais je ne touche pas au but (pour info je suis sous office2007).

J'ai cette ligne dans mon fichier word:
Code :
{INCLUDEPICTURE { MERGEFIELD image}  \* MERGEFORMAT}
La bdd utilisée est en pj (impression d'écran).
La fusion semble fonctionné car les autres champs apparaissent bien.

Mais la fusion de l'image ne sait que me dire:"Erreur°! Nom du fichier non spécifié." ;
Malgré les mises à jour par F9.

As tu une idée ?

nb: si j'insère le champ
Code :
{INCLUDEPICTURE fille.jpg \* MERGEFORMAT}
l'insertion d'imfonctionne bien
Merci d'avance.
Images attachées
Type de fichier : jpg minibase.jpg (60,9 Ko, 32 affichages)
Viggen0020 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2009, 09h31   #4
Nouveau Membre du Club
 
Inscription : novembre 2008
Messages : 115
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 115
Points : 31
Points : 31
Petite question subsidiaire: ca mazrcherai avec un .pdf au lieu de .jpg ?
Viggen0020 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2009, 13h37   #5
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 16 867
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 16 867
Points : 28 220
Points : 28 220
Salut,
L'écran Word aurait été plus judicieux.


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

Mes articles

www.morgania.be

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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2009, 13h58   #6
Nouveau Membre du Club
 
Inscription : novembre 2008
Messages : 115
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 115
Points : 31
Points : 31
le voila ...

Vois tu la boulette ?
Images attachées
Type de fichier : jpg word.jpg (5,5 Ko, 33 affichages)
Viggen0020 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2009, 15h47   #7
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 16 867
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 16 867
Points : 28 220
Points : 28 220
Salut,

Fais shift + F9 dans le champ du milieu.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles

www.morgania.be

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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2009, 16h28   #8
Nouveau Membre du Club
 
Inscription : novembre 2008
Messages : 115
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 115
Points : 31
Points : 31
voila ce que ca donne
Images attachées
Type de fichier : jpg word2.jpg (11,4 Ko, 23 affichages)
Viggen0020 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2009, 16h32   #9
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 16 867
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 16 867
Points : 28 220
Points : 28 220
Salut,

Le publipostage a été exécuté, tu n'est pas en mode aperçu du résultat.

Je ne vois pas où se trouve l'erreur.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles

www.morgania.be

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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2009, 21h31   #10
Invité de passage
 
Inscription : septembre 2009
Messages : 1
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 1
Points : 1
Points : 1
Par défaut la photo ne suis pas

J'essaye de faire une carte adhérent à pour mon club, et pour cela j'ai une base de donnée sous excel et je veux fusionner avec une carte type sous word
je viens de faire les différents document en suivant vos indications mais je suis sous office XP,
j'ai bien fais attention au double \\ et au "" dans la feuille de calul pour l'adresse de la photo. et j'ai bien enregistré les champs.
Mais lors de la fusion les autres champs pour le nom, prénom, suivent mais pas la photo, la photo reste la même.
je ne comprens pas!
Merci par avance pour vos réponses
deniswax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2009, 10h39   #11
Nouveau Membre du Club
 
Inscription : novembre 2008
Messages : 115
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 115
Points : 31
Points : 31
Bonjour Heureux-oli, et les autres,

Est ce que les fichiers image utilisés, les données et le .doc (joints) peuvent te permettre de voir ou j'ai fauté ? (avec une maj des chemin certainement ...)

Merci d'avance,

G.
Fichiers attachés
Type de fichier : zip publi_avec_image.zip (43,1 Ko, 50 affichages)
Viggen0020 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2009, 11h25   #12
Nouveau Membre du Club
 
Inscription : septembre 2006
Messages : 70
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 70
Points : 30
Points : 30
Bonjour,

J'ai exactement le même pb : des cartes d'adhérents sous Word à fusionner avec des données sur une feuille Excel dont un champ "Photo" renseigne l'adresse de fichier jpg.
Précision, je suis sous MS Office 2000.

En fait, cela semble fonctionner sans les "" ou les \\ dans l'adresse indiquée dans la feuille Excel, mais le code INCLUDEPICTURE inséré dans Word fonctionne à l'aperçu écran si on met une macro tel que décrite ci-dessus et qui intervient lors du passage d'un enregistrement à l'autre par les boutons de commande.

Le pb, c'est quà la fusion, les macros n'interviennent pas et on a la première image pour tous les enregistrements.

Merci de votre aide.
marcb03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2009, 11h44   #13
Invité régulier
 
Inscription : mars 2009
Messages : 32
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 32
Points : 9
Points : 9
Citation:
Envoyé par Viggen0020 Voir le message
Bonjour Heureux-oli, et les autres,

Est ce que les fichiers image utilisés, les données et le .doc (joints) peuvent te permettre de voir ou j'ai fauté ? (avec une maj des chemin certainement ...)

Merci d'avance,

G.
Bonjour ! bon c'est un peu tard pour te répondre, mais c'est pas grave !
Ca aidera peut être ceux qui passeront par la suite.

Ton problème se situe sur ton champ image dans Word : tu as oublié les guillemets qui doivent encadrer le champ MERGEFIELD image.





Bon à part ça, j'ajouterai juste que :

1/Il n'est pas nécessaire de mettre des guillemets dans le chemin du fichier image sur Excel.
2/les guillemets qui encadrent le champ MERGEFIELD image, eux, sont nécessaires.
3/Privilégier la fusion vers un nouveau document. Sélectionner tout le texte (Control+A). Mettre à jour avec la touche F9. Si le document doit être sauvegarder, utiliser le commutateur \d (c'est ce que j'ai fait) pour que l'image ne soit pas stockée sur le document Word même (ainsi le fichier ne sera pas alourdi).

C'est vrai qu'on peut aussi se contenter d'utiliser le bouton Aperçu des résultats (Mode publipostage symolisé par Abc) mais quand on passe à un nouvel enregistrement il faut à chaque fois faire CTRL+A puis F9 pour mettre à jour. (Je pense que c'est pour ça que beaucoup ont l'impression que l'image est identique sur toutes leurs pages...)

Voilà. Si ces quelques remarques éclairent des lanternes, ce sera déjà pas mal
petitorco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2009, 11h13   #14
Nouveau Membre du Club
 
Inscription : septembre 2006
Messages : 70
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 70
Points : 30
Points : 30
Bonjour,

Merci pour cette réponse.

Cependant, après la fusion vers un nouveau document, les x pages créées dans ce nouveau fichier ont toutes l'image qui était en aperç écran sur le fichier type.
Y a-t-il un moyen pour que chaque page ait l'image qui corresponde à l'enregistrement qui la concerne ?

Merci
marcb03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2009, 14h17   #15
Invité régulier
 
Inscription : mars 2009
Messages : 32
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 32
Points : 9
Points : 9
Bonjour,

Citation:
Y a-t-il un moyen pour que chaque page ait l'image qui corresponde à l'enregistrement qui la concerne ?
Ben en fait ça devrait déjà être le cas !

1/Si tout est ok au niveau de la fusion (le chemin dans la source de données excel et le champ image dans ton document word)
2/Si après avoir fusionné vers un nouveau document, tu as bien fait CTRL+A puis tout F9.

Normalement tu as bien une image différente à chaque page de ton nouveau document.

Si ca marche toujours pas, poste (si tu peux) une capture d'écran :
-de ton champ image excel
-de ton champ image (au format code de champ) word.

Cordialement.
petitorco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2009, 15h11   #16
Nouveau Membre du Club
 
Inscription : septembre 2006
Messages : 70
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 70
Points : 30
Points : 30
Eh ben non! Ca marche pas!

En tout cas pas dans mon cas.

J'ai pensé que ça pouvait venir du fait que j'ai mis les champs image dans une zone de texte pour pouvoir gérer plus facilement la mise en page.
Mais ça ne change rien non plus.

Ci-joint les copies d'écran.

Merci.

Dernière modification par marcb03 ; 29/12/2009 à 19h45.
marcb03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2009, 17h11   #17
Invité régulier
 
Inscription : mars 2009
Messages : 32
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 32
Points : 9
Points : 9
Re-bonjour,

Alors d'après ce que je vois y a au moins 3 soucis :

1/Sur excel : ton champ image devrait ressembler à ça :
C:\\Krav Maga - Adhérents - Photo O.BARRAUD.jpg
On est d'accord que si "Adhérents" est un sous dossier de Krav Maga, ton chemin sera :
C:\\Krav Maga\\Adhérents\\Photo O.BARRAUD.jpg

Si "Photo" est un sous dossier de Adhérents alors:
C:\\Krav Maga\\Adhérents\\Photo\\O.BARRAUD.jpg

Dans tous les cas, il te faut des anti-slash.
Et il te manque de toute façon le chemin complet de tes images :
Photos/Krav Maga - Adhérents - etc. <= ici on ne sait pas si ca se trouve sur C: ou D: etc.

Donc chemin à revoir sur Excel.

2/Sur Word.
a) oublie le mot clé "si alors sinon" pour le moment. Regarde déjà si sans mot clé ça fonctionne. Pareil pour la zone de texte.

b)ton champ include picture est incompet. Y te manque la partie mergeformat (regarde mon précédent post) qui est passée à la trappe chez toi.

Voilà essaie déjà ces pistes.

Cordialement.
petitorco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2009, 19h46   #18
Nouveau Membre du Club
 
Inscription : septembre 2006
Messages : 70
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 70
Points : 30
Points : 30
OK.

Pour le chemin spécifié dans le fichier Excel :
- L'intérêt est que le répertoire "Photos" est un sous-répertoire du répertoire dans lequel est le fichier-type Word. Donc pas besoin de redonner tt le chemin.
- Et puis, en indiquant tt le chemin, si je change de lecteur (de V à C par exemple), je ne peux plus accéder à mes images. Alors que là je peux utiliser mon fichier Word ou qu'il soit (en fait une clé USB qui peut être nommée d'une lettre différente selon le PC à partir duquel j'y accède.
De + le chemin tel que je l'ai spécifié dans le fichier Excel fonctionne et permet la fusion. Ce n'est donc pas le pb.

Mais pour te permettre d'avancer, j'ai fait les modifs que tu m'indiques (Cf. captures d'écran ci-joint).

Désolé, mais comme je m'y attendais, la fusion vers un document conserve la dernière image appelée par le document-type pour tous les enregistrements.
Images attachées
Type de fichier : jpg Fichier Word.JPG (197,0 Ko, 27 affichages)
Type de fichier : jpg Fichier Excel.JPG (224,1 Ko, 25 affichages)
marcb03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2009, 21h48   #19
Invité régulier
 
Inscription : mars 2009
Messages : 32
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 32
Points : 9
Points : 9
Ok alors on va faire simple :

1/tu refais un publipostage basique :
tu crées un dossier dans C: que tu appelles "publipostage".
a) tu mets 2 images au choix à l'intérieur.
b) Toujours à l'intérieur du dossier "publipostage", tu crées une source de données Excel (que tu nommes "SD") toute simple avec 2 champs : prénom et image.
Tu remplis 2 lignes avec 2 prénoms et tu ajoutes les 2 chemins des 2 images (exactement comme tu l'as fait dans ta dernière capture d'écran).

2/tu crées un document word "lettre" et tu commences normalement ton publipostage. Utilise le champ Include Picture comme tu l'as fait pour ton vrai courrier.

Si ça marche tant mieux !
Si ça marche pas, envoie tes fichiers (l'exemple basique que tu viens de créer) sur le forum.

Cordialement.

petitorco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2009, 08h09   #20
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 16 867
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 16 867
Points : 28 220
Points : 28 220
Salut,

Il faut rafarîchier les images par Ctrl + A pour sélectionner le contenu du document et ensuite F9 pour actualiser les champs (ce qui mettra les images à jour).
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles

www.morgania.be

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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 20h23.


 
 
 
 
Partenaires

Hébergement Web