Comment nommer des images avant de les "paster" ou après !

jf27

XLDnaute Occasionnel
Comment nommer des images avant de les "paster" ou après

bjr le forum,

j'ai un soucis dans mon appli. me suis gratté la tête dessus mais là j'ai besoin de vous !

Via un usf je charge des images, je sauvegarde dans un fichier externe excel
dans un template toujours dans les memes cellules.

' Comment je copie l'image dans la fiche excel
Code:
'Copy image from userform in datasheet at the good place and the good size
    Set IPic = Me.photocar1.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#
    End If
    'Clean variable
'    DestroyIcon iPic.Handle
    Set IPic = Nothing

dans mon appli je peux rappeler une fiche sauvegardée et remet donc à jour l'userform à partir des éléments du fichier excel et notamment les images.
'Dans userform initialize, comment je recharge les images de la fiche que je souhaite modifier
Code:
For Each s In Sheets("file").Shapes
    If s.Type = 13 Then
    nomimage(i) = s.Name
    i = i + 1
    End If
Next s
 
    Dim shp As Shape
    Set shp = Sheets("file").Shapes(nomimage(3))
    shp.CopyPicture
    Set photocar1.Picture = PastePicture()

Sauf que je ne maitrise pas la numérotation des images et que cela devient vite le binz avec les images qui ne reviennent pas au bon endroit, si lors de la modif l'utilisateur rajoute des images.

Comment puis je nommer la shape que je copie dans le fichier excel pour pouvoir la rappeler ensuite avec ce nom ?

Existe t'il un truc du style Selection.rename quand je paste la selection ?La puissance d'excel étant sans limite ! je suis sûr que ca doit exister sauf que je ne connais pas.
Code:
Selection.ShapeRange.Rotation = 0#

Merci par avance aux experts de ce forum !
@+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 343
Messages
2 087 438
Membres
103 546
dernier inscrit
mohamed tano