Forum des développeurs  

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é.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Word

Word Forum d'entraide sur le traitement de texte Microsoft Word

Réponse
 
Outils de la discussion
Vieux 13/11/2008, 14h36   #1 (permalink)
Membre du Club
 
Date d'inscription: avril 2005
Messages: 81
Par défaut Lier une image selon son nom dans un tableau

Bonjour,

Je vous explique ce que j'essaye de faire :

Dans un tableau Word de 2 colonne, j'ai dans ma première colonne une date et j'aimerais que dans la deuxième colonne s'affiche une image se trouvant dans le même répertoire que le fichier Word et s'appellant madate.jpg

En gros,

20081108 | 20081108.jpg
20081104 | 20081104.jpg

En liant une image et en affichant la formule on a :

Code :
 
{INCLUDEPICTURE  "20081108.jpg" \* MERGEFORMAT \d }
 

Donc en fait j'aimerais qu'à la place de "2001108.jpg" en dur j'ai quelque chose qui va chercher la valeur de la cellule d'à côté.

Merci beaucoup beaucoup par avance
Kara est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/11/2008, 00h40   #2 (permalink)
Rédacteur
 
Date d'inscription: octobre 2007
Localisation: Montreuil-Le-Gast (I&V)
Âge: 45
Messages: 782
Par défaut Les formules de tableau dans Word comme dans Excel (enfin presque)

Salut Kara,

En Word, c'est presque aussi simple qu'avec Excel.
  1. Tu crées ton tableau avec 2 colonnes
  2. Dans la 1ere, tu saisis ou généres tes dates (sans rien spécifier) donc dans Word sous forme de texte
  3. Dans la seconde colonne, tu insères une formule de calcul de tableau (menu "Tableau-Formule") et tu tapes directement la référence de ta cellule donc ici tu utilises directement A1 suivi de .jpeg
  4. Et tu recommences pour la ligne suivante

Si tu veux que le texte représente le lien hypertexte désignant ton fichier d'image, c'est possible, il faut alors insérer un champ qui contient le champ de formule précédent mais ça marche.

@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/11/2008, 09h12   #3 (permalink)
Membre du Club
 
Date d'inscription: avril 2005
Messages: 81
Par défaut

Merci beaucoup de ta réponse.

En fait avec cette méthode je vais avoir 20081112 | 20081112.jpg ??

En fait, je voudrais savori si c'est possible d'insérer ta méthode dans la formule :

Code :
{INCLUDEPICTURE  "20081108.jpg" \* MERGEFORMAT \d }
 
Car je voudrais que l'image en question s'affiche dans le tableau...

Merci beaucoup
Kara est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/11/2008, 09h41   #4 (permalink)
Membre du Club
 
Date d'inscription: avril 2005
Messages: 81
Par défaut

J'ai trouvé, ca donne donc :

Code :
{INCLUDEPICTURE {=A1}".jpg" \* MERGEFORMAT \d }
Il me reste à trouver comment transformer la date car les images sont de la forme 20081125.jpg et la date de la colonne est 25.11.2008

Ca peux se faire dans la même formule ?

En tout cas merci beaucoup, j'arrive déjà à afficher quelque chose
Kara est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/11/2008, 11h58   #5 (permalink)
Membre du Club
 
Date d'inscription: avril 2005
Messages: 81
Par défaut

Bon ba j'arrive à formater la date mais je n'arrive pas à l'inclure dans ma fonction de liaison d'image

C'est ptète pas possible en fait, je vais essayer de contourner sauf si quelqu'un a une solution.

Merci beaucoup en tout cas
Kara est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/11/2008, 12h49   #6 (permalink)
Responsable Word
 
Avatar de Heureux-oli
 
Date d'inscription: février 2006
Localisation: Morlanwelz (Carnières)
Âge: 44
Messages: 10 459
Par défaut

Salut,

J'ai bien une solution, mais elle passe par le VBA.
A toi de voir !
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Ne posez pas de question par MP, c'est inutile.
Les rubriques Office recrutent.
Ma page d'accueil
Consultez nos FAQ !! Word ; Access ; Outlook ; Excel ; PowerPoint ; SharePoint
Si vous pensez que certains sujets manquent dans la FAQ, aidez nous !
Des images
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/11/2008, 13h22   #7 (permalink)
Membre du Club
 
Date d'inscription: avril 2005
Messages: 81
Par défaut

En fait c'est pas pour moi c'est pour dépanner quelqu'un à distance donc je pense que le VBA ca va être compliqué à mettre en place...

En fait j'arrive à formater une date via :

Code :
{ =A4  \@ "dd/MM/yyyy" }
Mais je ne peux pas faire :

Code :
{ INCLUDEPICTURE { =A4  \@ "dd/MM/yyyy" \}".jpg"  \* MERGEFORMAT \d }
Mais si c'est pas possible il va faire des concessions sur ces formats de date...

Merci
Kara est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/11/2008, 13h25   #8 (permalink)
Responsable Word
 
Avatar de Heureux-oli
 
Date d'inscription: février 2006
Localisation: Morlanwelz (Carnières)
Âge: 44
Messages: 10 459
Par défaut

Oui, il est prévu d'utiliser une image pour les format de date, mais le contraire, je ne pense pas.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Ne posez pas de question par MP, c'est inutile.
Les rubriques Office recrutent.
Ma page d'accueil
Consultez nos FAQ !! Word ; Access ; Outlook ; Excel ; PowerPoint ; SharePoint
Si vous pensez que certains sujets manquent dans la FAQ, aidez nous !
Des images
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/12/2008, 15h29   #9 (permalink)
Membre du Club
 
Date d'inscription: avril 2005
Messages: 81
Par défaut

Bonjour,

Je reviens ici (après un certain temps je l'avoue).

En fait ma fameuse solution ne fonctionne plus. Je ne sais même pas pourquoi.

Code :
{INCLUDEPICTURE {=A1}".jpg" \* MERGEFORMAT \d }
Ba ca ne marche plus...

j'ai essayé de mettre des {} normaux ou de mettre ceux que l'ont obtient en faisant ctrl+F9 (qui apparaissent en gras) mais rien n'y fait.

Y'a quelque chose que je ne capte pas. Je m'en suis apperçu quand je suis arrivé avec ma soluce pour montrer à l'utilisateur (l'air con un peu)

Et tant que je suis là j'aurais une 2ème question : en fait le but de cette astuce c'est d'afficher beaucoup beaucoup de photo dans un tableau essez grand. Or, même si j'arrive à refaire fonctionner la soluce je ne trouve pas l'équivalent de la poigné de recopie dans un tableau Word. Plus, simplement comment faire pour étendre la soluce pour la case A1 puis pour la case A2 etc etc etc...

Merci beaucoup si quelqu'un voit d'où peux venir le problème
Kara est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/12/2008, 23h31   #10 (permalink)
Rédacteur
 
Date d'inscription: octobre 2007
Localisation: Montreuil-Le-Gast (I&V)
Âge: 45
Messages: 782
Par défaut

Salut Kara,


Hélas, Word n'est pas Excel et il n'y a pas de "poignée" permettant une recopie avec changement à la volée des n° de colonnes et n° de lignes car Word ne connaît que des références absolues pas les relatives.

Mais il y a une ruse dans Word. Tu crées ta formule dans la 1ere ligne, dans ton cas
Code :
{ INCLUDEPICTURE { =A1  \@ "dd/MM/yyyy" \}".jpg"  \* MERGEFORMAT \d }
lorsque ta commande est au point, tu sélectionnes le n° de ligne dans la référence de cellule (en l'occurrence 1 de A1) et tu lances la commande "Insertion-Champ"- Catégorie "Numéroter"- Nom du champ "Séq" auquel tu ajoutes (dans la zone de texte réservée au x commutateurs et aux options), "Ligne" puis tu valides ==>
Code :
{ INCLUDEPICTURE { =A{ SEQ Ligne \* MERGEFORMAT }  \@ "dd/MM/yyyy" \}".jpg"  \* MERGEFORMAT \d }
Tu n'as plus qu'à recopier ta ligne n° dans les autres lignes et la tour est joué. Si tu dois ajouter d'autres lignes, ça continue de marcher avec des copier-coller et si tu dois insérer des lignes et/ou en supprimer, c'est pareil mais il faut mettre alors à jour tes champs : pour cela, sélectionne ton tableau et tape <F9> pour mettre à pour les champs.

voilà

@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/12/2008, 10h03   #11 (permalink)
Membre du Club
 
Date d'inscription: avril 2005
Messages: 81
Par défaut

Merci beaucoup...

Mon problème est que je ne peux plus tester votre solution puisque la version de base ne marche plus

En fait le chemin relatif ne marche plus. En gros il me faux "D:\\Bureautique\\20081123.jpg" car "20081123.jpg" ne fcontionne plus...

Je ne trouve pas de formule contenant le chemin du dossier courant du fichier Word mais là j'en demande peut-être un peu trop (enfin si il y a un CurrentDoc ou autre je suis prenenur hein )
Kara est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/12/2008, 10h43   #12 (permalink)
Responsable Word
 
Avatar de Heureux-oli
 
Date d'inscription: février 2006
Localisation: Morlanwelz (Carnières)
Âge: 44
Messages: 10 459
Par défaut

Salut,

Combien de tableaux as-tu dans ton document ?

On peut toujours le faire avec une macro.

Code :
Sub InsererImages()
Dim otbl As Table
Dim intI As Integer
Dim strImg As String
 
 
Set otbl = ActiveDocument.Tables(1)
For intI = 1 To otbl.Rows.Count
    strImg = NetText(otbl.Cell(intI, 1).Range.Text)
    otbl.Cell(intI, 2).Select
    Selection.InlineShapes.AddPicture FileName:=ActiveDocument.Path & "\" & strImg
Next intI
 
End Sub
Function NetText(stTemp As String) As String
NetText = Left(stTemp, Len(stTemp) - 2)
End Function
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Ne posez pas de question par MP, c'est inutile.
Les rubriques Office recrutent.
Ma page d'accueil
Consultez nos FAQ !! Word ; Access ; Outlook ; Excel ; PowerPoint ; SharePoint
Si vous pensez que certains sujets manquent dans la FAQ, aidez nous !
Des images
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/12/2008, 17h40   #13 (permalink)
Membre du Club
 
Date d'inscription: avril 2005
Messages: 81
Par défaut

Je ne sais pas justement.

Mais je suis impressionné par le bout de macro et je vais tenter de l'appliquer à distance. J'espère juste qu'il veux le faire une fois pour toute et pas relancer la macro a chaque fois qu'il rajoute une ligne au tableau...

Une question toutefois, son entête de tableau se répète à chaque début de page ca ne risque pas de faire planter la macros?

Merci beaucoup
Kara est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/12/2008, 20h39   #14 (permalink)
Responsable Word
 
Avatar de Heureux-oli
 
Date d'inscription: février 2006
Localisation: Morlanwelz (Carnières)
Âge: 44
Messages: 10 459
Par défaut

Salut,

On peut éviter de planter, mais le tout est de savoir comment il a définis l'entête de son tableau.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Ne posez pas de question par MP, c'est inutile.
Les rubriques Office recrutent.
Ma page d'accueil
Consultez nos FAQ !! Word ; Access ; Outlook ; Excel ; PowerPoint ; SharePoint
Si vous pensez que certains sujets manquent dans la FAQ, aidez nous !
Des images
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 05/12/2008, 09h35   #15 (permalink)
Membre du Club
 
Date d'inscription: avril 2005
Messages: 81
Par défaut

Du coup je vais poser des questions sur la macros pour pouvoir l'adapter au cas ou :

La fonction NetText je la capte pas, enfin si mais je ne sais pas pourquoi il faux utiliser une telle fonction...

En tout cas merci pour tout
Kara est déconnecté   Envoyer un message privé Réponse avec citation
NEWS MS-OFFICEFAQs OFFICETUTORIELS OFFICELIVRES OFFICESOURCES VBA

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Word



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide