Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 usf : insérer une images qui fait office de bouton

BenHarber

XLDnaute Occasionnel
Bonjour le Forum,
Je souhaite personnaliser un userform en insérant, à la place des contrôles ''Boutons'', des images perso. (mais le fonctionnement serait le même que pour un bouton càd lorsque l'on clique sur l'image : ça lance une macro).
Mes images sont stockées dans le même fichier que les données à traiter (elles sont enregistrées sur un onglet particulier). Je tiens à ce point pour tout concentrer dans le même fichier.
Or, en insérant un contrôle "Image", la propriété "Picture" me permet uniquement de choisir un fichier-image ENREGISTRE EN DEHORS DU FICHIER EXCEL.

Savez-vous s'il y a un moyen (simple...càd sans être obligé de me fader 400 lignes de codes ) de récupérer une image enregistrée sur le fichier Excel ?

Merci d'avance pour vos idées et suggestion,
BH
 

job75

XLDnaute Barbatruc
Bonjour BenHarber,

Pour insérer une image dans un UserForm il faut un fichier image enregistré sur le disque dur.

Voici la macro pour créer un tel fichier à partir d'une image stockée sur une feuille de calcul :
VB:
Sub Fichier_Image()
Application.ScreenUpdating = False
With ActiveSheet.Shapes("Image 1") 'nom de l'image à adapter
    .CopyPicture
    With ActiveSheet.ChartObjects.Add(0, 0, .Width, .Height).Chart
        Do
            .Paste 'Coller
            DoEvents
        Loop While .Shapes.Count = 0 'en attente du collage
        .Export ThisWorkbook.Path & "\Image.jpg", "JPG" 'création du fichier JPEG
        .Parent.Delete
    End With
End With
End Sub
A+
 

BenHarber

XLDnaute Occasionnel
Bonjour Job75,
Merci beaucoup pour ta réponse que je vais tester rapidement (je suis sans PC pour 2 jours : argh !).
Si je comprends bien, il n'y a aucune commande "native" dans Excel qui permet de faire ça.

Merci et excellente journée à toi...et au Forum !
BH
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…