INSERER IMAGE DANS DOCUMENT WORD DEPUIS USERFORM

Signaler
Messages postés
5
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
18 avril 2008
-
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
-
Bonjour,

Je suis grand débutant en VB.
J'ai créé un USERFORM qui alimente des champs dans un doc. Word. Tout fonctionne bien.
Je souhaiterais à partir du même USERFORM appeler une boîte de dialogue "insérer image" de sorte à ce que l'utilisateur puisse automatiquement choisir des images qui seront insérées dans son doc. et là je galère ...

Si une âme charitable veut bien consacrer qqes minutes de son temps pour me fournir un élément de réponse, ce serait top :)

Merci par avance !!!!

Greg

9 réponses

Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
Bonjour
la boite de dialogue Ouvrir de Word , permet après avoir choisi le répertoire des images , et après choix de l'affichage Miniature de visualiser les images à insérer, il suffit d'expliquer à l'utilisateur comment faire.
Messages postés
5
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
18 avril 2008

Bonjour,

Merci pour la réponse.
Le recours à VBA et à un USERFORM est justement fait pour éviter ceci :) ... beaucoup de personnes travaillent sur ce document et les rotations de personnes sont tout aussi nombreuses.

Dans l'idée, les utilisateurs ne touchent pas à Word ... le formulaire automatise toute la procédure. Les images sont ensuite redimensionnées automatiquement et le doc. est sauvegardé en 2 formats.

Il ne me manque donc que cette étape intermédiaire ...

Merci quand même :)
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
-Ce qui te manque c'est de visualiser les images quelque soit leur formats .png .jpg .Jpeg .bmp .gif .wmf (ceci est très difficile)

-ou Ce qui te manque C'est d'insérer un format particulier d'une image qu'elle soit ou non prévisualisée dans ta Userform?

-Ou encore les deux à la fois
Messages postés
5
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
18 avril 2008

En fait, non ... dans l'absolu, je n'ai pas besoin de visualiser les images. J'ai besoin de stocker le lien temporairement.
Une fois que l'utilisateur valide le USERFORM, tout se passe automatiquement. Les images sélectionnées (format JPEG) et les textes sont insérés dans le modèle Word aux emplacements désignés par les signets.
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
Je n'ai pas fait en VBA mais en VB voilà comment je m'y prend

Afficher les images avec
Image1.Picture= LoadPicture (NomdeFichierDeLimage)

avant validation de la selection

Sur la selection de l'image faire, la copier dans le presse papier
Clipboard.SetData Picture1.Picture, 2

Puis sur validation avant de retourner dans Word , il faudrait disposer  du handle de la fenetre d'édition de  Word
et faire
Const WM_PASTE =&H302
SendMessage hwnd, WM_PASTE, 0, Clipboard.GetData

désolé c'est incomplet et non testé
Messages postés
5
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
18 avril 2008

Pas de problème ... merci déjà de te pencher sur mon cas.
Je vais tenter qqe chose avec ça.
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
Dans Word , l'enregistrement de "Insérer/ Champ / IncludePicture" donne ce code si MaBmp.BMP est l'image séléctionnée

Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
        "INCLUDEPICTURE  ""maBmp.bmp""", PreserveFormatting:=True
Messages postés
5
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
18 avril 2008

Bonjour,
Juste pour informer que je suis presque parvenu à mes fins :) avec le bout de code ci-dessous :

Private Sub CommandButton3_Click()

Dim I1 As String

Selection.GoTo What:=wdGoToBookmark, Name:="IMAGE1"

Application.Dialogs(wdDialogInsertPicture).Show 'Ouvrir la boîte de dialogue insérer image

RemplirSignet "IMAGE1", I1 'Placer les données dans le document

ActiveDocument.Fields.Update ' MAJ des champs

End Sub

-------------------
Mon seul problème à présent (quand y en a plus y en a encore ... :(( )
Si l'utilisateur veut changer une image, je souhaiterais effacer l'image précédemment insérée (comment la retrouver, vu que j'ai 5 images dans mon document et que le nom des images varie), sans effacer le signet ... ?

Merci encore une fois pour l'aide:)
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
tu as fait du très bon travail tout seul je ne t'ai donné que des voix à explorer
Et pour le signet , ton expérience te dit que tu dois le supprimer pour le récréer : je te donne raison