Laisser utilisateur choisir image de fond pour UserForm

Bonjour le forum

Dans mon projet j'aimerais laisser libre à l'utilisateur de personnaliser le UserForm exécutant un formulaire de saisie. J'ai déjà mis en place les boutons permettant de choisir à sa guise une couleur de fond ainsi que la couleur de la police. J'aimerais aller plus loin en proposant à l'utilisateur un bouton lui permettant de choisir une image et d'utiliser cette dernière comme fond sur le UserForm.

J'imaginais un bouton, qui au clique, ouvrirais la fenêtres explorer de Windows permettant ainsi à l'utilisateur de choisir une image de son choix.

Si on se place du coté du développer, quand on veux mettre une image en fond de notre UserForm, on utilisent le paramètre "Picture". Je voudrais donc une fois le UserForm ouvert par l'utilisateur, qu'il ai à sa disposition un bouton lui permettant de faire la même chose.

J'espère avoir été clair. Par avance merci de l’intérêt porté à ce sujet

32img.xlsm (694.35 Ko)

J'ai quasiment trouvé la solution à mon problème

Cependant j'aimerais améliorer le code. Les userform ne supportent que certains types d'images, y a t-il un moyen de forcer le type de fichiers autorisé dans le menu déroulant de l'explorateur Windows ?

Je ne suis pas fan d'utiliser un On Error GoTo

Private Sub CommandButton1_Click()
On Error GoTo err
Dim fd As Office.FileDialog

Set fd = Application.FileDialog(msoFileDialogOpen)

fd.Title = "Charger un font d'écran"
fd.AllowMultiSelect = False

If fd.Show() Then
CHEMIN = fd.SelectedItems(1)
UserForm1.Picture = LoadPicture(CHEMIN)
End If
Exit Sub

err:
MsgBox "Format d'image non supporté !", vbCritical, "Erreur"
End Sub

Bon bah finalement j'ai trouvé mon bonheurs sur le site de Microsoft : https://docs.microsoft.com/fr-fr/office/vba/api/excel.application.getopenfilename

Du coup j'utilise ce code qui est parfait

Private Sub CommandButton1_Click()
fileToOpen = Application _
 .GetOpenFilename("Tous les fichiers images (*.jpg), *.jpg")
If fileToOpen <> False Then
 UserForm1.Picture = LoadPicture(fileToOpen)
End If
End Sub
Rechercher des sujets similaires à "laisser utilisateur choisir image fond userform"