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 :

suppression de l'image de fond d'un userform


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 79
    Par défaut suppression de l'image de fond d'un userform
    Bonjour à tous,

    J'ai installé sur un userform (UserFormEC) une image de fond afin d'agrémenter le "plan de travail".

    Cependant, quand le "travail" est définitivement validé, je ne souhaite pas conserver cette image qui, somme toute, n'a plus aucune utilité mais qui tient beaucoup de place : avec image, le fichier excel pèse 1,6 mégaoctets et sans 80 ko. Ça vaut donc le coup de ...

    Le code est appelé par un commandbutton implanté sur cet userform.

    J'ai beau essayé diverses commande commençant par UserFormEC.Picture = (quelque chose), que ce soit dans le code du commandbutton ou bien par appel d'une macro écrite dans un module, je n'arrive pas à trouver la bonne écriture. J'ai essayé "none", "aucun", "Nothing", "delete".... je suis toujours en erreur.

    Si l'opération est vraiment possible, pourriez-vous m'aider ?

    Merci d'avance,
    Maurice GUILLIER

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Pour retirer l'image de fond

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Picture = LoadPicture("")

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 79
    Par défaut
    Bonjour,

    Fouillant l'aide VBA sur excel, je venais tout juste de trouver : Object.Picture = LoadPicture("") quand ta réponse est arrivée.

    Tout concorde donc !

    Merci pour ce coup de main car, au départ, je n'arrivais même pas a bien formulé ma question dans l'aide.

    Bonne journée... sous la neige !
    Maurice

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 79
    Par défaut
    Bonjour,

    Ça marche mais...

    En effet, avec le code suivant :

    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 CommandButton10_Click()
    avertissement = MsgBox("ATTENTION !" & Chr(10) & "Si vous appuyez sur 'OK', vous ne pourrez plus modifier ce bon !" & Chr(10) & Chr(10) & "Voulez-vous vraiment le valider définitivement ?", vbCritical + vbYesNo, "Validation pour facturation")
        If avertissement = vbYes Then
            Sheets("Commande").Activate
                Range("C3:AP32").Select
                ActiveSheet.Unprotect
                Selection.Locked = True
                Selection.FormulaHidden = False
                Range("C3").Select
                ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
            UserFormEC.Picture = LoadPicture("")
        End If
    End Sub
    L'image est bien effacée mais seulement pour la session en cours. Après enregistrement du fichier et réouverture, l'image est toujours présente sur le userform.

    En fait, je souhaite supprimer définitivement l'image lorsque "CommandButton10_Click()" s'est exécuté.

    J'espère que c'est possible et j'attends patiemment vos conseils.

    Cordialement,
    Maurice

  5. #5
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Une solution consisterait de tester une cellule a l'ouverture du fichier.
    Si celle ci contient 1une certaine valeur (par exemple 1), tu charges l'image sinon tu ne charges pas l'image.
    cela permettra d'avoir toujours un fichier light. Par contre il faudra distribuer l'image avec le fichier

Discussions similaires

  1. Image en fond sur une Userform
    Par potters dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/06/2007, 14h17
  2. boîte de dialogue avec image de fond + texte
    Par Eugénie dans le forum MFC
    Réponses: 13
    Dernier message: 31/08/2004, 13h32
  3. image de fond à la taille de la form
    Par littledoudou dans le forum C++Builder
    Réponses: 5
    Dernier message: 20/01/2004, 14h15
  4. Comment mettre une image en fond de JFrame
    Par marc26 dans le forum Débuter
    Réponses: 3
    Dernier message: 19/01/2004, 17h57
  5. [VB6] [Graphisme] Image de fond stretchable dans mdiform
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 17/02/2003, 10h45

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