Salut
Tu as de la chance, j'ai résolu ce problème récemment dans du VBA sous Word :
En supposant que l'image s'appelle imgLogoClient et que l'emplacement du curseur du doc Word soit dans un tableau Word
Déclaration :
Private Declare Function CopyImage Lib "user32" (ByVal Handle As Long, ByVal imageType As Long, ByVal newWidth As Long, ByVal newHeight As Long, ByVal lFlags As Long) As Long
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function SetClipboardData Lib "user32" (ByVal wFormat As Long, ByVal hMem As Long) As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
Private Const IMAGE_BITMAP As Long = &H0
Private Const LR_COPYRETURNORG As Long = &H4
Private Const CF_BITMAP As Long = &H2
Code
Dim ImageHandle As Long
With maSelection ' objet Selection
' Charge l'image et fournit son adresse, on lui écrira
ImageHandle = CopyImage(imgLogoClient.Handle, IMAGE_BITMAP, 0, 0, LR_COPYRETURNORG)
' Ouvre le presse-papier (= Selection en VBA)
OpenClipboard ByVal 0&
' Nettoyage avant insertion
EmptyClipboard
DoEvents
' Insersion de l'adresse de l'image dans la zone graphique du presse-papier
SetClipboardData CF_BITMAP, ImageHandle
' Referme le presse-papier
CloseClipboard
' Sélectionne quelque chose
.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
' Rappelle l'image et l'insère sur le document
DoEvents
.Paste
' Déplacement 2ème cellule
.MoveRight Unit:=wdCharacter, Count:=1
End With
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)