je sais copier une image d'un usf vers une feuille.
Maintenant j'ai besoin de faire l'invers. Remettre à jour les images de mon userform à partir de celles contenues dans une feuille
je pensai à un truc du genre:
With Sheets("Feuil2")
.Shapes("Image 1").Copy
End With
Me.photo1.Picture = .selection.paste
2 choses:
A/
je ne suis pas sûr de Me.photo1.Picture = .selection.paste
B/ Comment puis je connaitre les noms des photos dans ma feuille ou boucler sur toutes les photos (elles sont tjrs créées dans le même ordre.)
For i = 1 To 14
For Each s In Sheets("file").Shapes
nomimage(i) = s.Name
MsgBox "nomimage:" & nomimage(i)
Next s
Next i
Dim shp As Shape
Set shp = Sheets("file").Shapes(nomimage(1))
shp.CopyPicture
Set photocar1.Picture = PastePicture()
une piste pour contourner le pb, je connait la position , N° de cells des images que je veux recopier dans mon userform.
Est ce qu'il existe un code qui permettrait de dire
Une piste
En reprenant la structure de ton programme
For i = 1 To 14
For Each s In Sheets("file").Shapes
nomimage(i) = s.Name
MsgBox "nomimage:" & nomimage(i)
Next s
Next i
Afficher le nom de l'image et poser la question s'il faut changer le nom , si oui affecter le nom à l'image avec s.Name= nouveau nom.
Ce qui permet par la suite de sélectionner l'image.
'Initialisation des images
i = 1
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()