Clignotement d'ecran - macro Excel
Antoine
-
Gord21 Messages postés 928 Statut Membre -
Gord21 Messages postés 928 Statut Membre -
Bonjour à tous,
Voilà j'ai un problème de clignotement d'écran qui persiste malgré le
application.screenupdating = false
après recherche des sujets similaires, il semblerait que les .activate pourraient être les coupables...
ma macro met à jour des graphes avec une boucle qui les active un par un:
NbChart = ActiveSheet.ChartObjects.Count
For cht = 1 To NbChart
ActiveSheet.ChartObjects(cht).Activate
<code>
next cht
comment aller trafiquer un graphe sans "activate"?
Merci d'avance pour votre aide!
Voilà j'ai un problème de clignotement d'écran qui persiste malgré le
application.screenupdating = false
après recherche des sujets similaires, il semblerait que les .activate pourraient être les coupables...
ma macro met à jour des graphes avec une boucle qui les active un par un:
NbChart = ActiveSheet.ChartObjects.Count
For cht = 1 To NbChart
ActiveSheet.ChartObjects(cht).Activate
<code>
next cht
comment aller trafiquer un graphe sans "activate"?
Merci d'avance pour votre aide!
1 réponse
-
Bonsoir,
Dans ton code, tu utilises probablement des lignes du type :ActiveChart.Axes(xlCategory).HasTitle = True
qu'il faudrait remplacer par :Charts(cht).Axes(xlCategory).HasTitle = True
L'effet de clignotement devrait être réduit.
@+-
Bonjour à tous
essaies aussi
With sheets("nomde la feuille").ChartObjects(cht)
le code
end with
nota: avec ce système, les propriétés et méthodes de l'objet "chart" doivent être précédées d'un point
par exemple sur l'idée de l'ami Gord (bonjour, ca va ?)With sheets("nomde la feuille").ChartObjects(cht) .Axes(xlCategory).HasTitle = True end with
en général, il vaut mieux employer with end with aussi bien pour les feuilles et les objets car cela évite les activate ou select: plus rapide et évite les scintillements
tu pourrais ainsi avoir ce code
With Sheets("nomfeuille") NbChart = .ChartObjects.Count For cht = 1 To NbChart With .ChartObjects(cht) .Axes(xlCategory).HasTitle = True End With Next End With
encore une fois: n'oublie pas les points (expérience perso) !!! -
-