Importer une image depuis un Userform

Bonjour à tous ,

J'ai cherché depuis pas mal de temps un code qui me permettrait de faire ce que je souhaite mais je n'arrive pas à trouver.

Je souhaite importer l'image affiché dans mon userform vers une cellule bien précise ( B4 dans mon fichier ), et que cette image soit dimensionnée comme la cellule.

Ci- joint mon fichier !

Merci pour votre aide

191insert-picture.xlsm (16.04 Ko)

Bonjour emy10k,

Voici une solution qui me semble te convenir :

Private Sub CommandButton1_Click()

ActiveSheet.Pictures.Insert("C:\planete_demo.jpg").Select
            With Selection.ShapeRange
            .LockAspectRatio = msoTrue 'conserver les proportions
            End With

End Sub

Comme tu peux le constater, l'image insérée provient d'un fichier et non d'un contrôle "image". Etant donné que c'est toi qui a chargé ces images dans les contrôles, tu es donc en possession des fichiers correspondants. Il te suffit donc de pointer vers ces fichiers.

Voici ce que cela donne :

cap demo image

Fichier Excel :

445insert-picture.xlsm (24.51 Ko)

Bonne journée.

CCMJoe.

Merci pour ta réponse mais cela ne correspond pas vraiment à mon besoin car l'image sera insérer par des utilisateurs divers , donc le chemin d'accès vers l'image sera tout le temps different.

Bonjour,

À l'aide de bouts de code glanés ici et là sur le Net ...

L'image s'insère à la fois dans le userform et dans le champ B4:E19 de la feuille active ... pas besoin de fusionner les cellules.

Voir si ça convient.

Private Sub cmd_insert_Click()
Dim chemin As String
Dim Photo As String
Dim cheminComplet As String
Dim dummy As String
Dim L As Single, T As Single, W As Single, H As Single
Dim Ws As Worksheet

cheminComplet = Application.GetOpenFilename

If cheminComplet <> "faux" Then

   dummy = cheminComplet    ' 1 l'extension
   While Right(dummy, 1) <> "."
      ext = Right(dummy, 1) & ext
      dummy = Left(dummy, Len(dummy) - 1)
   Wend
   dummy = Left(dummy, Len(dummy) - 1) ' ici on élimine le .
      ' le nom du fichier
   While Right(dummy, 1) <> "\"
      Photo = Right(dummy, 1) & Photo
      dummy = Left(dummy, Len(dummy) - 1)
   Wend
      ' le chemin
   chemin = dummy
         ' image dans le userform
   Me.img.Picture = LoadPicture(cheminComplet)
   Me.img.Visible = True
       ' Image dans la feuille
    L = Range("B4").Left
    T = Range("B4").Top
    W = Range("B4:E4").Width
    H = Range("B4:E19").Height
    ActiveSheet.Shapes.AddPicture cheminComplet, True, True, L, T, W, H
End If

End Sub

Gelinotte

Merci pour ta réponse mais j'avais trouvé un moyen détourné.

En Inserant un controle image dans la feuille excel qui se nomme comme le controle image de mon usf on arrive à obtenir le resultat souhaité.

Merci à vous

Bonjour Emy10k,

Je ne savais même pas que l'on pouvait faire ainsi. J'ai appris quelque chose aujourd'hui !

Merci à Gelinotte.

Bonne journée.

CCMJoe.

Rechercher des sujets similaires à "importer image userform"