IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Image PNG dans UserForm Excel [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club Avatar de Dav1961
    Homme Profil pro
    Futur retraité
    Inscrit en
    septembre 2022
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Futur retraité

    Informations forums :
    Inscription : septembre 2022
    Messages : 85
    Points : 57
    Points
    57
    Par défaut Image PNG dans UserForm Excel
    Bonsoir à tous,

    Est-ce qu'il y a une possibilité d'insérer une image PNG dans une UserForm sous Excel ?
    En direct, j'ai vu que cela n'était pas possible, mais peut-être existe-t 'il un autre moyen.
    Merci par avance pour votre aide

  2. #2
    Membre régulier

    Homme Profil pro
    Ressources humaines
    Inscrit en
    mai 2020
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Enseignement

    Informations forums :
    Inscription : mai 2020
    Messages : 124
    Points : 71
    Points
    71
    Billets dans le blog
    1
    Par défaut
    Pas que je sache... Rien d'un tout petit peu sérieux faisable graphiquement sur un formulaire, hélas....

  3. #3
    Membre du Club Avatar de Dav1961
    Homme Profil pro
    Futur retraité
    Inscrit en
    septembre 2022
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Futur retraité

    Informations forums :
    Inscription : septembre 2022
    Messages : 85
    Points : 57
    Points
    57
    Par défaut
    Bonsoir MarcJinger

    Merci pour votre réponse.
    Eh bien tant pis, je vais m'arranger autrement.
    Bonne fin de journée

  4. #4
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    décembre 2008
    Messages
    3 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2008
    Messages : 3 159
    Points : 7 684
    Points
    7 684
    Par défaut
    Hello,
    Citation Envoyé par Dav1961 Voir le message
    Eh bien tant pis, je vais m'arranger autrement.
    Il faut attendre d'autres avis avant de mettre la discussion en résolu (alors que ce n'est pas résolu).
    En fait c'est possible avec la bibliothèque gdiplus ( c'est ce que j'utilise ici) et son module de classe VBA clGdiplus (Voir ici)
    Gdi+ supporte notamment les formats BMP, GIF, JPEG, PNG, TIFF et EMF.
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    janvier 2010
    Messages
    11 588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : janvier 2010
    Messages : 11 588
    Points : 27 811
    Points
    27 811
    Billets dans le blog
    42
    Par défaut
    Bonjour J.P,
    Je ne connaissais pas cette bibliothèque
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Ma dernière contribution : VBA - Les macros complémentaires

  6. #6
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    décembre 2008
    Messages
    3 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2008
    Messages : 3 159
    Points : 7 684
    Points
    7 684
    Par défaut
    Hello Philippe
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour J.P,
    Je ne connaissais pas cette bibliothèque
    Le souci c'est que le module de classe VBA qui l'interface est volumineux ( > 600Koctets). Bien sûr on peut le réduire en utilisant que ce qui nous intéresse dedans mais cela risque d'être pénible ou alors le mettre dans les macros personnelles.
    Voici le code pour charger une image png dans le contrôle image d'un formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub CommandButton1_Click()
    Dim oGdi As clGdiplus
    Set oGdi = New clGdiplus
    Dim strFile As String
    strFile = Application.GetOpenFilename(FileFilter:="png files (*.png*), *.png*", Title:="Choisir un fichier PNG", MultiSelect:=False)
    ' Chargement de l'image
    If oGdi.LoadFile(strFile) Then
        ' Chargement réussi
        Debug.Print "Format :", oGdi.ImageFormatText
        Debug.Print "Taille :", oGdi.ImageWidth & " x " & oGdi.ImageHeight
        oGdi.Repaint Me.Image1
    Else
        ' Erreur de chargement
        MsgBox "Erreur au chargement de l'image"
    End If
    End Sub
    Nom : LoadPng.PNG
Affichages : 45
Taille : 22,2 Ko

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    janvier 2010
    Messages
    11 588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : janvier 2010
    Messages : 11 588
    Points : 27 811
    Points
    27 811
    Billets dans le blog
    42
    Par défaut
    Bonjour J.P,
    Merci pour ton code.
    Je trouvais intéressant de connaître l'existence de ce module pour ne pas répondre "impossible" mais jusqu'à présent je n'ai jamais eu besoin de charger des images au format png, je m'arrange très bien avec des jpg et la conversion de PNG en un autre format est simple.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Ma dernière contribution : VBA - Les macros complémentaires

  8. #8
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    décembre 2008
    Messages
    3 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2008
    Messages : 3 159
    Points : 7 684
    Points
    7 684
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    mais jusqu'à présent je n'ai jamais eu besoin de charger des images au format png, je m'arrange très bien avec des jpg et la conversion de PNG en un autre format est simple.
    Il y a que si on a besoin de transparence dans l'image mais là il y a un souci avec clGDIplus : il ne sait pas affficher la transparence dans un contrôle image, par contre il sait le faire si l'image est dessinée directement dans le formulaire.
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  9. #9
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    décembre 2008
    Messages
    3 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2008
    Messages : 3 159
    Points : 7 684
    Points
    7 684
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    Il y a que si on a besoin de transparence dans l'image mais là il y a un souci avec clGDIplus : il ne sait pas affficher la transparence dans un contrôle image, par contre il sait le faire si l'image est dessinée directement dans le formulaire.
    Finalement, c'est possible de charger un png avec transparence dans un contrôle image avec ce code par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Sub CommandButton1_Click()
    Dim oGdi As clGdiplus
    Set oGdi = New clGdiplus
    Dim strFile As String
    strFile = Application.GetOpenFilename(FileFilter:="png files (*.png*), *.png*", Title:="Choisir un fichier PNG", MultiSelect:=False)
    ' Chargement de l'image
    If oGdi.LoadFile(strFile) Then
        ' Chargement réussi
        Debug.Print "Format :", oGdi.ImageFormatText
        Debug.Print "Taille :", oGdi.ImageWidth & " x " & oGdi.ImageHeight
        oGdi.Repaint Me.Image1, , , Me.BackColor
    Else
        ' Erreur de chargement
        MsgBox "Erreur au chargement de l'image"
    End If
    End Sub
    Nom : LoadPng2.PNG
Affichages : 46
Taille : 30,2 Ko
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  10. #10
    Membre du Club Avatar de Dav1961
    Homme Profil pro
    Futur retraité
    Inscrit en
    septembre 2022
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Futur retraité

    Informations forums :
    Inscription : septembre 2022
    Messages : 85
    Points : 57
    Points
    57
    Par défaut
    Bonjour à tous,

    Merci pour vos réponses et désolé d'avoir clôturé cette discussion un peu trop tôt.
    Je ne connaissais pas du tout cette méthode, je me coucherai moins bête ce soir.

    Je vais pouvoir mettre mon horloge dans une UserForm, reste à la faire fonctionner par la suite.

    Mais je suis sur d'autres pistes que je fignolent et que partageraient si je réussi.

    J'ai monopolisé le post de NONO, j'espère qu'il ne m'en voudra pas. En même temps cela fait peut-être avancer son projet.

  11. #11
    Membre régulier

    Homme Profil pro
    Ressources humaines
    Inscrit en
    mai 2020
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Enseignement

    Informations forums :
    Inscription : mai 2020
    Messages : 124
    Points : 71
    Points
    71
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Dav1961 Voir le message
    Bonsoir MarcJinger

    Merci pour votre réponse.
    Eh bien tant pis, je vais m'arranger autrement.
    Bonne fin de journée
    Merci good luck !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Images dans userform Excel 2007
    Par brionfred dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/12/2012, 13h40
  2. [Excel] Insérer image PNG dans fichier Excel
    Par rolintoucour dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 16/12/2010, 23h02
  3. POI Insérer image jpg dans un excel
    Par lili2704 dans le forum Documents
    Réponses: 1
    Dernier message: 18/03/2008, 12h44
  4. vba excel : insertion d image gif dans feuille excel
    Par chamus dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/01/2007, 14h16
  5. Mettre une image png dans un Timage
    Par Coussati dans le forum Composants VCL
    Réponses: 7
    Dernier message: 02/03/2006, 19h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo