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 :

Rafraichissement d'écran VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 46
    Par défaut Rafraichissement d'écran VBA
    Bonjour à tous,

    J'ai un petit problème d'écran! J'éxcécute plusieurs macros qui viennet écrire des données sur une feuille et updater 2 graphiques !
    Ces macros se lancent a partir d'une scrollbar.
    Je connais ScreenUpdating qui m'a permis de ne plus voir l'écran s'updater lorsque le code écrit les données sur la feuille, malheureusement les 2 graphiques s'update toujours (on voit leur affichage "sauter"), je voulais donc savoir si quelqu'un avait une idée sur ce point.

    PS : je ne sais pas si ça peut aider, mais pluiseurs macro sont imbriquées les unes dans les autres !

    Merci par avance

    Cordialement.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    salut,

    un élément de réponse est disponible ici :
    http://support.microsoft.com/kb/464395/fr

    REMARQUES :
    - La mise à jour de l'écran est toujours restaurée après la fin de
    l'exécution de la macro. Il est par conséquent inutile de mettre à
    Vrai la propriété juste avant la fin.
    l'idée serait de faire une macro globale englobant l'ensemble et d'y mettre à ce niveau là le screenupdate à false puis true.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 46
    Par défaut
    Ben en fait c'est déjà le cas :

    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
    Public Sub ScrollBar4_Change()
     
    Application.ScreenUpdating = False
     
    If Application.EnableEvents = False Then
        Exit Sub
    End If
     
    Dim Pos As Integer
     
    If IsEmpty(Sheet1.Range("Strat_Choice")) = False Or Sheet1.Range("Strat_Choice") <> 0 Then
        Pos = ScrollBar4.Value
        If (Sheet1.CheckBox2 = True And Sheet1.ComboBox1.Value = "All Strategies") Or Sheet1.CheckBox2.Value = False Or (Sheet1.CheckBox2 = True And Sheet1.ComboBox1.Value = " ") Then
            Call Graph_Calibration_All(Pos)
        Else
            Call Graph_Calibration(Pos)
        End If
    End If
     
    End Sub

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    si le rafraichissement des graphiques gênent, est-il envisageable de faire un switch sur une image qui "cache" le refresh, ou bien utiliser un formulaire comme celui proposé dans la catégorie Accès pour les traitements longs :
    http://arkham46.developpez.com/artic...s/formattente/
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 46
    Par défaut
    Non je ne veux pas créer un formulaire, mais c'est possible de ne pas avoir de refresh sur l'écran, car j'ai pu le voir sur d'autres fichiers !

  6. #6
    Membre éclairé Avatar de nchal
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 512
    Par défaut
    Je vois pas pourquoi sa ne marche pas.
    Verifie que tu n'as pas un autre ScreenUpdating à True quelque part dans ton code.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 31/01/2012, 14h56
  2. Rafraichissement d'écran trop important
    Par krfa1 dans le forum Windows XP
    Réponses: 2
    Dernier message: 17/09/2009, 16h24
  3. Bloquer le rafraichissement d'écran
    Par Opo dans le forum VBA Access
    Réponses: 3
    Dernier message: 19/11/2007, 12h11
  4. rafraichissement d écran
    Par libremax dans le forum Windows Forms
    Réponses: 4
    Dernier message: 30/09/2007, 20h28
  5. Problème de rafraichissement d'écran
    Par Chercheur dans le forum MFC
    Réponses: 2
    Dernier message: 26/09/2005, 22h35

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