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 :

Rendre un frame transparent


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Consultant comptable
    Inscrit en
    Mai 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant comptable

    Informations forums :
    Inscription : Mai 2011
    Messages : 137
    Par défaut Rendre un frame transparent
    Bonjour,

    je fais suite à cette belle discussion

    http://www.developpez.net/forums/d18...nsparente-vba/

    qui donne un exemple pour rendre un frame transparent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub UserForm_Initialize()
      Frame_Transparent Frame1, Me, Image1
    End Sub
     
    Private Sub Frame_Transparent(cadre As Frame, f As UserForm, imaj As Image)
      cadre.BorderStyle = 0
    '  cadre.ZOrder 'peut être supprimé si inconnu sous VBA
      cadre.BackColor = f.BackColor
    '  imaj.ZOrder 1 'peut être supprimé si inconnu sous VBA
      imaj.Picture = f.Picture
      imaj.Move -cadre.Left, -cadre.Top, f.Picture.Width, f.Picture.Height
    End Sub
    sur l'exemple ca marche.
    Sur le mien il bloque à l'image image1 oui excel m'indique "type d'argument Byref incompatible".
    Je suppose que c'est le nom Image1 qui ne convient pas, mais je ne sais pas comment déterminer le nom de l'image que j'ai inséré.

    Une ame charitable pour me renseigner ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    passe ton argument en Val comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Frame_Transparent(cadre As Frame, f As UserForm, ByVal imaj As Image)
    et regarde si le comportement de ta procédure reste conforme

  3. #3
    Membre éprouvé
    Homme Profil pro
    Consultant comptable
    Inscrit en
    Mai 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant comptable

    Informations forums :
    Inscription : Mai 2011
    Messages : 137
    Par défaut
    merci pour la réponse, je viens de tenter, ca me crée un erreur d'execution 424 objet requis

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Ah j'avais lu trop vite

    c'est quoi Image1, tu l'as instanciée quand ?
    Etant un objet, on est d'accord qu'elle a été instanciée avec "Set" ?


    et bien sûr, il est d'usage de spécifier la ligne qui plante

  5. #5
    Membre éprouvé
    Homme Profil pro
    Consultant comptable
    Inscrit en
    Mai 2011
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant comptable

    Informations forums :
    Inscription : Mai 2011
    Messages : 137
    Par défaut
    Je ne l'ai pas instancié car dans le code d'origine (le lien) elle n'est pas instanciée.
    Il ne m'est pas informé de la ligne qui plante malheureusement, mais si je retire la ligne ou est contenu l'image cela fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Initialize()
      Frame_Transparent Frame1, Me, Image1
    End Sub
    je me doute que je rate quelquechose principalement à ce niveau

    imaj.Picture = f.Picture

    car je ne sais pas ce qu'est image et si il y a une référence que j'ai peut être oublié de cocher.

  6. #6
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    On a un peu de travail si je veux réussir mon objectif : te faire comprendre ce qui se passe

    Un peu short pour le moment, j'espère ce soir (mais pas sûr) si personne n'est intervenu d'ici là

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/12/2011, 16h37
  2. [C#]Comment rendre un label transparent ?
    Par Kcirtap dans le forum Windows Forms
    Réponses: 20
    Dernier message: 05/08/2009, 16h35
  3. Astuce pour rendre un cadre (frame) transparent
    Par moilou2 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/04/2008, 15h43
  4. Rendre le fond transparent dans une picturebox
    Par fun31 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/01/2005, 18h17
  5. Rendre une frame en 4 fois ???
    Par supergrey dans le forum DirectX
    Réponses: 10
    Dernier message: 12/08/2004, 05h25

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