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 :

Logo sur Userform sans fond blanc


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut Logo sur Userform sans fond blanc
    Bonjour
    Je met un logo sur un Userform, seulement il y a un carré blanc tout autour que je n'arrive pas à faire disparaitre
    Pouvez-vous m'indiquer comment je dois procéder Svp
    En vous remerciant

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Il est bien évidemment possible (mais en utilisant des fonctions de l'Api de Windows), de modifier l'image avant de l'insérer, ce qui alourdirait considérablement.
    Il est bien plus sage de choisir (ou faire) des logos "transparents" à insérer.

  3. #3
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Bonjour unparia
    Merci de me répondre
    A l'origine mon image a le fond transparent
    Je fais un cadre avec le bouton Image de la Boite à outils et j'insère cette image à partir de Picture mais le fond est blanc et c'est cela que je ne voudrais pas
    J'ai vainement cherché sur le net sans trouver, je dois m'y prendre mal
    En te remerciant

  4. #4
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,
    Pour gérer facilement la transparence d'une image sur un UserForm, il faut choisir un format d'image transparente accepté. Le format png n'étant pas toléré sur un Userform, une image de ce format est convertie en jpg et donc pert sa transparence. Il te faut donc te contenter du format gif (toléré par l'Userform et gérant la transparence) avec ce que cela induit en perte de qualité. La solution proposée par Jacques (salutations) avec api existe, mais est plus complexe...

  5. #5
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 215
    Par défaut
    Bonjour,
    Je te répond en tant qu'infographiste, Quoi que tu fasses, Vba ne prend pas en charge les fichiers Png, càd avec transparence.
    La seule solution est de mettre ton Userform en fond blanc et d'y intégrer ton image au format jpg.

  6. #6
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    pijaku : Mon image est en .gif (Logo.gif)
    Lorsque j'appelle l'image dans Picture il se met un fond blanc ce que je ne voudrai pas
    graphikris : justement, je ne veux pas de fond blanc

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Citation Envoyé par graphikris Voir le message
    Bonjour,
    Je te répond en tant qu'infographiste, Quoi que tu fasses, Vba ne prend pas en charge les fichiers Png, càd avec transparence.
    La seule solution est de mettre ton Userform en fond blanc et d'y intégrer ton image au format jpg.
    Que racontes-tu là ?
    Je devine que tu n'as pas mis la propriété BackStyle du controle image en Tranparent (ce qui est nécessaire)

  8. #8
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Si ton logo est dans un contrôle image, la propriété backstyle de celui ce soit être réglée sur fmBackStyleTransparent.....

    EDIT : @Jacques : on s'est croisé sur ce coup là...

    EDIT 2 : Jean, tu trouveras ICI le zip d'un jeu créé en 2012 avec un ami ( ), dans lequel nous avons posé des images transparentes sur un UserForm pour le design....

  9. #9
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    La propriété du contrôle image est bien en transparent
    Pièce jointe 374809

  10. #10
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par jean30 Voir le message
    La propriété du contrôle image est bien en transparent
    Alors c'est que ton image elle-même n'est pas transparente...

  11. #11
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    C'est ce que j'avais pensé un moment et pourtant elle est bien transparente
    Pièce jointe 374813

  12. #12
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Je viens d'y arriver

    Je vous remercie

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Bonjour a tous
    effectivement la transparence est gerée mais pas la semie transparence sur les controls image ou .picture du userform
    je rapelle tout de meme que aussi bien pour le transport( question de poids du fichier ) que pour le resultat le format ".wmf" est accepté par les controls image est transparent
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #14
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Quel que soit le format du fichier image : une fois "embarqué" par VBA, il est un tableau de dibits (même poids qu'un .bmp, donc)

  15. #15
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par jean30 Voir le message
    Je viens d'y arriver
    Merci, mais pour pouvoir aider un éventuel autre demandeur, comment as tu résolu ton problème?

  16. #16
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    si ca interesse quelqu'un
    voici une astuce ultra simple pour mettre un .png dans un control userform et garder les partie transparente (attention!!!! pas semie transparentes)

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Private Declare Function CreateCheminTemp Lib "Kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
    Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function CloseClipboard Lib "user32" () As Long
    Private Declare Function GetClipboardData Lib "user32" (ByVal uFormat As Long) As Long
    Private Declare Function CopyEnhMetaFileA Lib "gdi32" (ByVal hemfSrc As Long, ByVal lpszFile As String) As Long
    Private Declare Function DeleteEnhMetaFile Lib "gdi32" (ByVal hDC As Long) As Long
     
    Private Sub CommandButton1_Click()
        Dim ImgTemp As String
        ImgTemp = Space(160)
        CreateCheminTemp Environ("TMP"), "IMG", 0, ImgTemp
        ImgTemp = Trim(ImgTemp)
        'le chemin peut etre ou on veut exemple environ("userprofile")&"\DeskTop\IMGPNG.wmf"
        With ActiveSheet
            Set pict = .Pictures.Insert("C:\Users\polux\Desktop\logodejean30PNGtransparent.png")
            pict.Copy:
        End With
     
        OpenClipboard 0
        DeleteEnhMetaFile CopyEnhMetaFileA(GetClipboardData(14), ImgTemp) 'créé le fichier wmf (temp) dans le dossier TEMP de windows
        CloseClipboard
        On Error Resume Next
        With Me.Image1
            .Picture = LoadPicture(ImgTemp)
            .BackStyle = 0
            .BorderStyle = 0
            .Move .Left, .Top, pict.Width, pict.Height
        End With
        Kill ImgTemp
     pict.Delete
    End Sub
    je peut meme rendre certaine partie d'une image jpg ou bmp transparente avec le meme genre d'astuce

    la meme image en jpg a la quelle on eneleve tout ce qui est blanc dans le userform
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Private Declare Function CreateCheminTemp Lib "Kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
    Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function CloseClipboard Lib "user32" () As Long
    Private Declare Function GetClipboardData Lib "user32" (ByVal uFormat As Long) As Long
    Private Declare Function CopyEnhMetaFileA Lib "gdi32" (ByVal hemfSrc As Long, ByVal lpszFile As String) As Long
    Private Declare Function DeleteEnhMetaFile Lib "gdi32" (ByVal hDC As Long) As Long
     
    Private Sub CommandButton1_Click()
        Dim ImgTemp As String
        ImgTemp = Space(160)
        CreateCheminTemp Environ("TMP"), "IMG", 0, ImgTemp
        ImgTemp = Trim(ImgTemp)
        'le chemin peut etre ou on veut exemple environ("userprofile")&"\DeskTop\IMGPNG.wmf"
        With ActiveSheet
            Set pict = .Pictures.Insert("C:\Users\polux\Desktop\logodejean30JPGpastransparent.jpg")
            couleur = vbWhite
            With .Shapes(pict.Name): With .PictureFormat: .TransparentBackground = True: .TransparencyColor = couleur: End With: .Fill.Visible = False: End With
             pict.Copy:
    End With
    OpenClipboard 0
    DeleteEnhMetaFile CopyEnhMetaFileA(GetClipboardData(14), ImgTemp)    'créé le fichier wmf (temp) dans le dossier TEMP de windows
    CloseClipboard
    On Error Resume Next
    With Me.Image1
        .Picture = LoadPicture(ImgTemp)
        .BackStyle = 0
        .BorderStyle = 0
        .Move .Left, .Top, pict.Width, pict.Height
    End With
    Kill ImgTemp
    pict.Delete
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  17. #17
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Utilises la propriété image d'un label.

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

Discussions similaires

  1. [Toutes versions] Nouveau effet mouse in out sur les boutons dans un userform sans les apis
    Par patricktoulon dans le forum Contribuez
    Réponses: 17
    Dernier message: 27/02/2018, 22h28
  2. police blanche sur fond blanc sur pc
    Par Syra1 dans le forum Windows
    Réponses: 5
    Dernier message: 10/08/2017, 13h17
  3. windows 10 sur fond blanc : bug ?
    Par jced75 dans le forum Windows 10
    Réponses: 11
    Dernier message: 11/12/2016, 19h51
  4. Comment ajouter une lettre sur un fond blanc
    Par GDS_Strou dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 12/05/2016, 08h51
  5. [CSS 3] Superposition Logo + fond avec transparence du fond blanc du logo
    Par FloCAD dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 28/04/2015, 09h20

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