XL 2016 Selection d'image dans un userform et envois dans une feuille

Myst

XLDnaute Occasionnel
Bonjour
je voudrais solliciter votre aide afin de faire un petit fichier qui fonctionnera comme indiqué ci-dessous.
1 - j'ouvre "l'userform1" en cliquant sur le "CommandButton1"
2- je clique sur "l'image1" dans "l'userform1" pour sélectionner une image
3- l'image apparais dans "image1" et le nom de celle-ci s'inscrire dans le "Label1"
4- je clique sur "Valider" et l'image est envoyé dans le contrôle Actives X de la feuil1 et le contenu du Label dans la cellule A1
voila, si quelqu'un peu m'aider, par avance merci
 

Pièces jointes

  • ESSAI 1.xlsm
    21.1 KB · Affichages: 14
Solution
Bonjour Myst,

Téléchargez les fichiers joints où vous voulez, de préférence dans le même dossier.

Le code de l'UserForm :
VB:
Dim fichier As Variant 'mémorise la variable

Private Sub CommandButton1_Click()
With Feuil1.Image1
    .Picture = LoadPicture(IIf(Label1 = "", "", fichier))
    .PictureSizeMode = fmPictureSizeModeStretch 'cadrage
    .Parent.[A12] = Label1
End With
End Sub

Private Sub Image1_Click()
Image1.Picture = LoadPicture("") 'RAZ
Label1 = "" 'RAZ
ChDir ThisWorkbook.Path
fichier = Application.GetOpenFilename 'choix
On Error Resume Next 'si une image n'est pas choisie
Image1.Picture = LoadPicture(fichier)
Image1.PictureSizeMode = fmPictureSizeModeStretch 'cadrage
If Err = 0 Then Label1 = Mid(fichier, InStrRev(fichier, "\")...

job75

XLDnaute Barbatruc
Bonjour Myst,

Téléchargez les fichiers joints où vous voulez, de préférence dans le même dossier.

Le code de l'UserForm :
VB:
Dim fichier As Variant 'mémorise la variable

Private Sub CommandButton1_Click()
With Feuil1.Image1
    .Picture = LoadPicture(IIf(Label1 = "", "", fichier))
    .PictureSizeMode = fmPictureSizeModeStretch 'cadrage
    .Parent.[A12] = Label1
End With
End Sub

Private Sub Image1_Click()
Image1.Picture = LoadPicture("") 'RAZ
Label1 = "" 'RAZ
ChDir ThisWorkbook.Path
fichier = Application.GetOpenFilename 'choix
On Error Resume Next 'si une image n'est pas choisie
Image1.Picture = LoadPicture(fichier)
Image1.PictureSizeMode = fmPictureSizeModeStretch 'cadrage
If Err = 0 Then Label1 = Mid(fichier, InStrRev(fichier, "\") + 1)
Me.Repaint
End Sub
A+
 

Pièces jointes

  • ESSAI (1).xlsm
    28.9 KB · Affichages: 13
  • th (1).jpg
    th (1).jpg
    8.1 KB · Affichages: 19
  • th (2).jpg
    th (2).jpg
    4.4 KB · Affichages: 17
  • th(3).jpg
    th(3).jpg
    13.3 KB · Affichages: 17

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 300
Membres
103 173
dernier inscrit
Cerba95