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 :

Impossible d'afficher l'image


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2018
    Messages : 116
    Points : 61
    Points
    61
    Par défaut Impossible d'afficher l'image
    Bonjour le forum,

    Je vais directement aller à l'essentiel. J'ai un classeur xlsm (que je vais appeler X) dans lequel j'ai des boutons (formes) et une image.
    Dans un autre classeur (Y), j'ai créée une macro me permettant de copier l'onglet du classeur X sur le Y. Ensuite, sur chacun des boutons
    et j'ai une macro me permettant d'y affecter automatiquement des macros. Mon image est affectée à une macro avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Selection.OnAction = "TEST"
    .
    Le but est ensuite de fermer le classeur X car seul le Y m'intéresse par la suite.

    Voici ma macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    WbActif = ActiveWorkbook.Name 'Variable du classeur Y
    Workbooks.Open FileName:="G:\DOCUMENTS\X.xlsm", UpdateLinks:=0 'Ouvrir le classeur X
    Sheets(1).Select 'Sélectionner feuille 1 du classeur X
    ActiveWorkbook.Sheets(1).Copy After:=Workbooks(WbActif).Sheets(Sheets.Count) 'Copier feuille 1 du classeur X dans classeur Y
     
    Sheets(1).Shapes.Range(Array("AFFECTER_MACRO")).Select 'Sélectionner l'image AFFECTER_MACRO
    Selection.OnAction = "TEST" 'Affecter la macro TEST à l'image AFFECTER_MACRO
     
    Windows("X.xlsm").Activate
    ActiveWindow.Close
    Cependant, il y a à vrai dire 2 problèmes que je rencontre. Si je laisse le code comme-ceci, mon image est bien affectée à la macro TEST.
    Par contre, lorsque j'essaie d'enregistrer mon classeur (Y), j'ai un message m'informant qu'il y a eu un problème lors de l'enregistrement etc...
    En mettant les 2 lignes suivantes avant l'affectation des macros sur mon image et mes formes, ce problème d’enregistrement disparaît mais un autre problème intervient.
    Mon image ne s'affiche pas. Un message "Impossible d'afficher l'image" s'affiche à la place. pourtant ma macro y est bien affectée...
    J'ai essayé de la compresser mais rien n'y fait...

    Merci pour votre aide!

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2018
    Messages : 116
    Points : 61
    Points
    61
    Par défaut
    Personne pour une petite aide ? :/

  3. #3
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Bonjour,

    On ne cesse de le dire et le redire : il faut éviter d'employer .Select (et donc Selection) et les objets actifs.
    Il faut aussi toujours s'assurer que les méthodes et propriétés concernent le bon Objet (une fenêtre n'est pas un classeur).
    Pour cela il est préférable d'utiliser des variables objets.
    J'ai pas testé mais j'aurais écrit :
    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
    Option Explicit
    Sub xxx()
    Dim wbY As Workbook
    Dim wbX As Workbook
    Dim shp As Shape
     
      'Classeur Y
      Set wbY = ActiveWorkbook  
      'Ouvrir le classeur X
      Set wbX = Workbooks.Open(Filename:="G:\DOCUMENTS\X.xlsm", UpdateLinks:=0)
      'Copier feuille 1 du classeur X dans classeur Y
      wbX.Sheets(1).Copy After:=wbY.Sheets(wbY.Sheets.Count)
      'Sélectionner l'image AFFECTER_MACRO du classeur Y
      Set shp = wbY.Sheets(1).Shapes("AFFECTER_MACRO")
      'Affecter la macro TEST à l'image AFFECTER_MACRO
      shp.OnAction = "TEST"
      wbX.Close 
     
    End Sub
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2018
    Messages : 116
    Points : 61
    Points
    61
    Par défaut
    Bonjour Patrice740,

    Merci pour votre réponse.
    ça a l'air de mieux fonctionner comme ceci merci.

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

Discussions similaires

  1. Impossible d'afficher une image sur une page ASP.Net
    Par Jean-Claude Dusse dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/01/2009, 20h23
  2. Réponses: 1
    Dernier message: 12/09/2008, 10h36
  3. Impossible d'afficher mon image
    Par Olivier Regnier dans le forum Langage
    Réponses: 5
    Dernier message: 02/11/2007, 14h58
  4. [MySQL] impossible d'afficher des images en provenance de la DB
    Par paricilas dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/02/2007, 22h08
  5. [img201.imageshack.us] impossible d'afficher les images
    Par Blossom dans le forum Autres Logiciels
    Réponses: 7
    Dernier message: 07/02/2007, 08h41

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