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 :

Ce code fonctionne au pas à pas mais pas en automatique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de anarchiste-mouton
    Homme Profil pro
    ceci
    Inscrit en
    Décembre 2017
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ceci
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2017
    Messages : 69
    Par défaut Ce code fonctionne au pas à pas mais pas en automatique
    Bonsoir,

    Je rencontre un problème avec le code ci-dessous, j'ai l'impression que je demande trop de ressources à Excel et qu'il n'a pas le temps de s’exécuter proprement :

    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
     
    Option Explicit
     
    Private Sub UserForm_Initialize()
        Dim nb As Byte
        Dim Sh As Shape
        Dim Fichier As String
     
        Fichier = Workbooks(ActiveWorkbook.Name).Path & "\Temp.gif"
     
        If Dir(Fichier) <> "" Then Kill Fichier 'Supprime l'image temportaire si elle existe
     
        Set Sh = Worksheets("Feuil3").Shapes(1) 'Définit le 1er shape de la feuille comme image à afficher dans l'UserForm
     
     
        Sh.CopyPicture 'copie le shape dans la feuille
        'crée un graphique
        With Worksheets("Feuil3").ChartObjects.Add(0, 0, Sh.Width, Sh.Height).Chart
            .Paste 'colle l'image dans graphique
            .export Fichier, "GIF" ' enregistre le graphique au format gif
        End With
     
        Image1.AutoSize = True
     
        Image1.Picture = LoadPicture(Fichier)
     
        Me.Width = Sh.Width
        Me.ScrollHeight = Sh.Height
    End Sub
    Lorsque j’exécute au pas à pas (et pas trop vite), mon image s'exporte correctement -> son poids = 109ko
    Mais lorsque je souhaites exécuter normalement le lancement de ma fenêtre, l'image ne s'exporte pas correctement (elle est toute blanche et ne pèse que 3ko)

    Je ne vois pas du tout comment palier ce problème... Any ideas?

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    En ajoutant les 2 lignes suivantes(en rouge), cela va t-il mieux?
    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
    Private Sub UserForm_Initialize()
        Dim nb As Byte
        Dim Sh As Shape
        Dim Fichier As String
        Application.EnableEvents = False
        Fichier = Workbooks(ActiveWorkbook.Name).Path & "\Temp.gif"
        If Dir(Fichier) <> "" Then Kill Fichier 'Supprime l'image temportaire si elle existe
        Set Sh = Worksheets("Feuil3").Shapes(1) 'Définit le 1er shape de la feuille comme image à afficher dans l'UserForm
        Sh.CopyPicture 'copie le shape dans la feuille
        'crée un graphique
        With Worksheets("Feuil3").ChartObjects.Add(0, 0, Sh.Width, Sh.Height).Chart
            .Paste 'colle l'image dans graphique
            .Export Fichier, "GIF" ' enregistre le graphique au format gif
        End With
        Image1.AutoSize = True
        Image1.Picture = LoadPicture(Fichier)
        Me.Width = Sh.Width
        Me.ScrollHeight = Sh.Height
        Application.EnableEvents = True
    End Sub
    Cdlt

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 04/12/2018, 13h24
  2. Code fonctionne en pas à pas, mais pas lors de l'exécution (F5)
    Par merimar_125 dans le forum Microsoft Office
    Réponses: 2
    Dernier message: 25/11/2014, 20h36
  3. Code fonctionnant sous IE et Firefox mais pas sous Chrome
    Par Hanoni dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/03/2010, 16h43
  4. code fonctionnant sous IE mais pas firefox ni chrome
    Par Hotei dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 04/03/2010, 16h39
  5. [JMF] Code fonctionnant sous Linux mais pas sous XP
    Par Monsieur_Max dans le forum Multimédia
    Réponses: 4
    Dernier message: 25/05/2006, 18h57

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