OVH Cloud OVH Cloud

lenteur classeur avec macro

2 réponses
Avatar
Pascale
Bonjour à toutes et à tous,

voici mon problème

je travaille sur Excelxp. Grace à ce site j'ai récupéré une macro
Sum_color() que j'ai installée dans un classeur tableau de bord.xls. Depuis
celui ci est très lent. exemple si je tape un chiffre je dois attendre
quelques secondes avant qu'il soit validé.

j'ai créé une macro complémentaire avec cette macro et cela fonctionne
parfaitement dans tous les classeurs sauf dans le classeur Tableau de bord.

Y-a-t-il un moyen d'éviter cette lenteur d'exécution

merci pour votre aide

ci-dessous la macro :

Option Explicit

Function Sum_Color(Data As Range, Critère As Range)
'Fonction qui additionne en fonction de la couleur de fond
Dim Ref_Color As Variant
Dim Cell As Variant
Application.Volatile True
Ref_Color = Critère.Interior.ColorIndex
Sum_Color = 0
For Each Cell In Data
If Cell.Interior.ColorIndex = Ref_Color Then
Sum_Color = Sum_Color + Cell.Value
End If
Next Cell
End Function


Sub Code2()
Application.Goto Reference:="Sum_color"
End Sub



--
Pascale

2 réponses

Avatar
Misange
Bonjour,
je ne comprends pas trop ce que fais la deuxième macro ? En as tu besoin ?
si la fonction marche normalement dans un autre classeur, il va nous
être difficile de t'aider sans savoir ce que le classeur fautif a de
particulier ... beaucoup de cellules en couleur ? beaucoup de pages ?

Tu as d'autres fonctions possibles, comme celle-ci
http://www.excelabo.net/xl/formats.php#sommecouleur
regarde si dans ce classeur particulier ça marche mieux ?

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

Le 07/06/2005 13:16, :
Bonjour à toutes et à tous,

voici mon problème

je travaille sur Excelxp. Grace à ce site j'ai récupéré une macro
Sum_color() que j'ai installée dans un classeur tableau de bord.xls. Depuis
celui ci est très lent. exemple si je tape un chiffre je dois attendre
quelques secondes avant qu'il soit validé.

j'ai créé une macro complémentaire avec cette macro et cela fonctionne
parfaitement dans tous les classeurs sauf dans le classeur Tableau de bord.

Y-a-t-il un moyen d'éviter cette lenteur d'exécution

merci pour votre aide

ci-dessous la macro :

Option Explicit

Function Sum_Color(Data As Range, Critère As Range)
'Fonction qui additionne en fonction de la couleur de fond
Dim Ref_Color As Variant
Dim Cell As Variant
Application.Volatile True
Ref_Color = Critère.Interior.ColorIndex
Sum_Color = 0
For Each Cell In Data
If Cell.Interior.ColorIndex = Ref_Color Then
Sum_Color = Sum_Color + Cell.Value
End If
Next Cell
End Function


Sub Code2()
Application.Goto Reference:="Sum_color"
End Sub





Avatar
Pascale
Merci pour ta réponse

j'ai retiré la deuxième macro mais cela ne change rien.
dans mon classeur Tableau de bord j'utilise la fonction sum_color() qui
somme dans une colonne d'un autre classeur toutes les cellules dont le fond
est rose. Le classeur tableau de bord n'a qu'une feuille et l'autre classeur
banque n'a qu'une feuille aussi mais à peu près 200 lignes à sommer.

Lorsque le classeur Tableau de bord est ouvert la lenteur d'exécution existe
dans tous les nouveaux classeurs. Est-ce la macor qui fait cela ?

précision : je débute en VBA
Merci
--
Pascale



Bonjour,
je ne comprends pas trop ce que fais la deuxième macro ? En as tu besoin ?
si la fonction marche normalement dans un autre classeur, il va nous
être difficile de t'aider sans savoir ce que le classeur fautif a de
particulier ... beaucoup de cellules en couleur ? beaucoup de pages ?

Tu as d'autres fonctions possibles, comme celle-ci
http://www.excelabo.net/xl/formats.php#sommecouleur
regarde si dans ce classeur particulier ça marche mieux ?

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

Le 07/06/2005 13:16, :
Bonjour à toutes et à tous,

voici mon problème

je travaille sur Excelxp. Grace à ce site j'ai récupéré une macro
Sum_color() que j'ai installée dans un classeur tableau de bord.xls. Depuis
celui ci est très lent. exemple si je tape un chiffre je dois attendre
quelques secondes avant qu'il soit validé.

j'ai créé une macro complémentaire avec cette macro et cela fonctionne
parfaitement dans tous les classeurs sauf dans le classeur Tableau de bord.

Y-a-t-il un moyen d'éviter cette lenteur d'exécution

merci pour votre aide

ci-dessous la macro :

Option Explicit

Function Sum_Color(Data As Range, Critère As Range)
'Fonction qui additionne en fonction de la couleur de fond
Dim Ref_Color As Variant
Dim Cell As Variant
Application.Volatile True
Ref_Color = Critère.Interior.ColorIndex
Sum_Color = 0
For Each Cell In Data
If Cell.Interior.ColorIndex = Ref_Color Then
Sum_Color = Sum_Color + Cell.Value
End If
Next Cell
End Function


Sub Code2()
Application.Goto Reference:="Sum_color"
End Sub