bjr,
je me permets de te contacter car j'utilise couramment ton site Excel VBA JB qui est pour moi une source très riche dans mon auto apprentissage de VBA via une appli que je développe pour mon boulot.
Aujourd'hui je me heurte à un pb dans la manipulation d'objets images dans usf et je n'ai pas trouvé de quoi m'aider sur ton site. D'où ce contact.
Brièvement mon pb:
un USF me sert à créer une fiche:
je charge des images dans l'usf via des loadpicture et je sauve dans la fiche.
******************
car1.Picture = LoadPicture(Mid(FileImg, 2, 200))
*********************
j'ai un 2ème menu modif fiche où j'initialise l'USF avec les données de la fiche à modifier, ce qui me donne pour les images:
***************************
Set shp = Sheets("file").Shapes("car1")
shp.CopyPicture
Set car1.Picture = PastePicture()
***********************************
Cela fonctionne "visuellement", la bonne image est bien affichée dans l'usf.
Sauf que ensuite si je veux sauvegarder la fiche modifiée, les images chargées par pastepicture ne sont pas copiées, celles modifiées et chargées par loadpicture sont bien sauvegardées.
Sais tu quelle est la différence entre
**************
Set car1.Picture = PastePicture()
et
car1.Picture = LoadPicture(Mid(FileImg, 2, 200))
***********************************
car là est apparemment mo pb sur le nom qu'à car1.picture après chacune de ces fonctions.
Merci par avance si tu peux m'aider
code pour copier images dans fiche
*********************************************
Sheets("file").Activate
Sheets("file").Unprotect
'Copy image from userform in datasheet at the good place and the good size
Set IPic = car1.Picture
'Clipboard opening
OpenClipboard 0&: EmptyClipboard
'Copy image into clipboard
hCopy = SetClipboardData(2, IPic.handle)
'Close clipboard
CloseClipboard
'Check if something is in clipboard
If hCopy Then
'define where to copy
Range("J5").Select
'copy image in the active sheet
ActiveSheet.Paste
Selection.ShapeRange.LockAspectRatio = msoFalse
Selection.ShapeRange.Height = ActiveCell.MergeArea.Height
Selection.ShapeRange.Width = ActiveCell.MergeArea.Width
Selection.ShapeRange.Rotation = 0#
Selection.Name = "car1"
End If
'Clean variable
' DestroyIcon iPic.Handle
Set IPic = Nothing