OVH Cloud OVH Cloud

une de mes feuilles ralentit toutes les autres

3 réponses
Avatar
brunodujura
Bonjour,

Sur une feuille excel j'ai créé une nouvelle fonction (module VBA) qui
permet de faire la somme des cellules en fonction de la couleur de fond.
Pour que le changement de couleur influe immédiatement sur le résultat il y
a la ligne:

application.volatile true

A cause de cette ligne et quand je laisse cette feuille ouverte, toutes mes
autres applications Excel (quelles qu'elles soient) s'en trouvent ralenties
dès que je veux changer la valeur d'une cellule.

Je suis donc obligé de fermer la feuille en question que pourtant j'aimerais
garder ouverte en permanence.

Pour info voilà la fonction (qui n'est pas de mon cru):

Function SomCool(Zne As Range, Couleur As String)
Application.Volatile True
Select Case Couleur
Case "rouge"

Couleur = 3
Case "vert"
Couleur = 50
Case "jaune"
Couleur = 6
Case "bleu"
Couleur = 5
Case "gris"
Couleur = 15
Case "orange"
Couleur = 40
End Select
For Each cell In Zne
If cell.Interior.ColorIndex = Couleur Then cvSomme = _
cvSomme + cell.value
Next
SomCool = cvSomme
End Function



Merci de votre aide.

3 réponses

Avatar
MichDenis
Enlève à la fonction :
application.Volatile

Et utilise la touche F9 après avoir modifié la couleur !!!
En conséquence, la fonction s'exécutera toute seule
seulement lorsque tu auras modifié la valeur de la cellule.

Et oui, on ne peut pas tout avoir !



"brunodujura" a écrit dans le message de news:
456f1fce$1$10017$
Bonjour,

Sur une feuille excel j'ai créé une nouvelle fonction (module VBA) qui
permet de faire la somme des cellules en fonction de la couleur de fond.
Pour que le changement de couleur influe immédiatement sur le résultat il y
a la ligne:

application.volatile true

A cause de cette ligne et quand je laisse cette feuille ouverte, toutes mes
autres applications Excel (quelles qu'elles soient) s'en trouvent ralenties
dès que je veux changer la valeur d'une cellule.

Je suis donc obligé de fermer la feuille en question que pourtant j'aimerais
garder ouverte en permanence.

Pour info voilà la fonction (qui n'est pas de mon cru):

Function SomCool(Zne As Range, Couleur As String)
Application.Volatile True
Select Case Couleur
Case "rouge"

Couleur = 3
Case "vert"
Couleur = 50
Case "jaune"
Couleur = 6
Case "bleu"
Couleur = 5
Case "gris"
Couleur = 15
Case "orange"
Couleur = 40
End Select
For Each cell In Zne
If cell.Interior.ColorIndex = Couleur Then cvSomme = _
cvSomme + cell.value
Next
SomCool = cvSomme
End Function



Merci de votre aide.
Avatar
brunodujura
Hélas non, F9 ne fonctionne que si l'on change la valeur de la cellule, pas
si on en change la couleur de fond....
"MichDenis" a écrit dans le message de news:

Enlève à la fonction :
application.Volatile

Et utilise la touche F9 après avoir modifié la couleur !!!
En conséquence, la fonction s'exécutera toute seule
seulement lorsque tu auras modifié la valeur de la cellule.

Et oui, on ne peut pas tout avoir !



"brunodujura" a écrit dans le message de news:
456f1fce$1$10017$
Bonjour,

Sur une feuille excel j'ai créé une nouvelle fonction (module VBA) qui
permet de faire la somme des cellules en fonction de la couleur de fond.
Pour que le changement de couleur influe immédiatement sur le résultat il
y
a la ligne:

application.volatile true

A cause de cette ligne et quand je laisse cette feuille ouverte, toutes
mes
autres applications Excel (quelles qu'elles soient) s'en trouvent
ralenties
dès que je veux changer la valeur d'une cellule.

Je suis donc obligé de fermer la feuille en question que pourtant
j'aimerais
garder ouverte en permanence.

Pour info voilà la fonction (qui n'est pas de mon cru):

Function SomCool(Zne As Range, Couleur As String)
Application.Volatile True
Select Case Couleur
Case "rouge"

Couleur = 3
Case "vert"
Couleur = 50
Case "jaune"
Couleur = 6
Case "bleu"
Couleur = 5
Case "gris"
Couleur = 15
Case "orange"
Couleur = 40
End Select
For Each cell In Zne
If cell.Interior.ColorIndex = Couleur Then cvSomme = _
cvSomme + cell.value
Next
SomCool = cvSomme
End Function



Merci de votre aide.





Avatar
MichDenis
| Hélas non, F9 ne fonctionne que si l'on change la valeur de la cellule, pas
| si on en change la couleur de fond....

Il ne faut pas écrire n'importe quoi que l'on a pas pris la peine de vérifier !!!!