![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) | |
![]() Date d'inscription: février 2005
Localisation: Une petite rue qui "avait" un merle
Messages: 11 563
|
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:
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 :
Sub CodeChampVisiblePasVisible() if ActiveWindow.View.ShowFieldCodes then ActiveWindow.View.ShowFieldCodes = False else ActiveWindow.View.ShowFieldCodes = True Endif End Sub 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 :
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
__________________
Je...ne...réponds...pas....aux...questions...techniques... par...mp La recherche (VBA-E) : Le Forum, La FAQ, Les cours et tutoriels, Contribuez, Les Sources et... l'Aide en ligne !!!
Dernière modification par ouskel'n'or ; 14/09/2007 à 16h05 |
|
|
|
|
|
|
#2 (permalink) | |
![]() Date d'inscription: février 2005
Localisation: Une petite rue qui "avait" un merle
Messages: 11 563
|
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 :
Sub Macro() Dim NomChamp as string NomChamp = "Champ Image" InsérerChampImageEtFusion NomChamp End sub Code :
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 Citation:
__________________
Je...ne...réponds...pas....aux...questions...techniques... par...mp La recherche (VBA-E) : Le Forum, La FAQ, Les cours et tutoriels, Contribuez, Les Sources et... l'Aide en ligne !!!
Dernière modification par ouskel'n'or ; 14/09/2007 à 16h04 |
|
|
|
|
![]() |
![]() |
||
Fusion et publipostage - Insertion d'images - Liste ds Excel - VBA ou Word
|
||
| Outils de la discussion | |
|
|