OVH Cloud OVH Cloud

Recalcul des formules

5 réponses
Avatar
Rv
Bonjour,

Je travaille avec Excel 2000.
Pouvez-vous m'éclairer sur la différence entre les mèthodes Calculate et
CalculateFull

Pour l'aide:
-------------------
méthode calculate:
Cette méthode calcule tous les classeurs ouverts, une feuille de calcul
particulière dans un classeur ou une plage de cellules déterminée dans une
feuille de calcul, comme indiqué dans le tableau ci-dessous...

---------------------
méthode calculateFull
Cette méthode provoque un calcul intégral des données dans tous les
classeurs ouverts.

---------------------

Apparement il y a une distinction entre "Cette méthode calcule" et
"Cette méthode provoque un calcul intégral des données"?

Pour essayer d'aller plus loin j'ai écrit deux fonctions personnalisées.
L'une faisant une somme de deux cellules, l'autre retournant la couleur de
fond d'une cellule(donc basé sur le formatage). La première se recalcule
automatiquement comme toutes les formules d'excel. La seconde ne se
recalcule pas. J'avais déjà vu cela sur ce forum il n'y a pas longtemps.
Donc pas vraiment surpris!

Par contre ce qui m'intrigue c'est que la méthode application.calculate ou
worksheets("maFeuille").calculate ne fonctionne pas et que seule
application.calculateFull permet réellement le recalcul. D'ou la question?

En fouillant dans les archives Google j'ai pu voir pas mal de fils sur ce
sujet. Sans doute trop pour m'y retrouver: il me manque une petite synthèse,
un lien, ... pour bien comprendre.



D'avance merci pour votre aide



A+



Rv

5 réponses

Avatar
Vincent.
Calculate peut servir à ne recalculer qu'une partie du
document (worksheets(1).calculate par ex), alors que
calculatefull recalcule tout ce qui est ouvert !
Sinon, je ne vois pas bien quelle autre différence il
pourrait y avoir...


-----Message d'origine-----
Bonjour,

Je travaille avec Excel 2000.
Pouvez-vous m'éclairer sur la différence entre les
mèthodes Calculate et

CalculateFull

Pour l'aide:
-------------------
méthode calculate:
Cette méthode calcule tous les classeurs ouverts, une
feuille de calcul

particulière dans un classeur ou une plage de cellules
déterminée dans une

feuille de calcul, comme indiqué dans le tableau ci-
dessous...


---------------------
méthode calculateFull
Cette méthode provoque un calcul intégral des données
dans tous les

classeurs ouverts.

---------------------

Apparement il y a une distinction entre "Cette
méthode calcule" et

"Cette méthode provoque un calcul intégral des données"?

Pour essayer d'aller plus loin j'ai écrit deux
fonctions personnalisées.

L'une faisant une somme de deux cellules, l'autre
retournant la couleur de

fond d'une cellule(donc basé sur le formatage). La
première se recalcule

automatiquement comme toutes les formules d'excel. La
seconde ne se

recalcule pas. J'avais déjà vu cela sur ce forum il n'y a
pas longtemps.

Donc pas vraiment surpris!

Par contre ce qui m'intrigue c'est que la méthode
application.calculate ou

worksheets("maFeuille").calculate ne fonctionne pas et
que seule

application.calculateFull permet réellement le recalcul.
D'ou la question?


En fouillant dans les archives Google j'ai pu voir pas
mal de fils sur ce

sujet. Sans doute trop pour m'y retrouver: il me manque
une petite synthèse,

un lien, ... pour bien comprendre.



D'avance merci pour votre aide



A+



Rv




.



Avatar
Rv
Salut Vincent,

Merci pour la réponse. Dans mon cas si une fonction personnalisée, basée
sur le format d'une cellule, est utilisée dans une cellule d'une feuille
alors application.calculate ne lance pas le recalcul de cette fonction.

Je transmets les fonctions.

Celle-ci se recalcule sans soucis:
Function calcSomme(objRange1 As Range, objrange2 As Range) As Variant
calcSomme = objRange1 + objrange2
End Function

Mais celle-la ne se recalcule qu'avec calculateFull:
Function retourneCoul(objRange As Range) As Long
retourneCoul = objRange.Interior.Color
End Function

Alors kesako?

A+

Rv


"Vincent." a écrit dans le message de
news:29bbb01c46594$eac46080$
Calculate peut servir à ne recalculer qu'une partie du
document (worksheets(1).calculate par ex), alors que
calculatefull recalcule tout ce qui est ouvert !
Sinon, je ne vois pas bien quelle autre différence il
pourrait y avoir...


-----Message d'origine-----
Bonjour,

Je travaille avec Excel 2000.
Pouvez-vous m'éclairer sur la différence entre les
mèthodes Calculate et

CalculateFull

Pour l'aide:
-------------------
méthode calculate:
Cette méthode calcule tous les classeurs ouverts, une
feuille de calcul

particulière dans un classeur ou une plage de cellules
déterminée dans une

feuille de calcul, comme indiqué dans le tableau ci-
dessous...


---------------------
méthode calculateFull
Cette méthode provoque un calcul intégral des données
dans tous les

classeurs ouverts.

---------------------

Apparement il y a une distinction entre "Cette
méthode calcule" et

"Cette méthode provoque un calcul intégral des données"?

Pour essayer d'aller plus loin j'ai écrit deux
fonctions personnalisées.

L'une faisant une somme de deux cellules, l'autre
retournant la couleur de

fond d'une cellule(donc basé sur le formatage). La
première se recalcule

automatiquement comme toutes les formules d'excel. La
seconde ne se

recalcule pas. J'avais déjà vu cela sur ce forum il n'y a
pas longtemps.

Donc pas vraiment surpris!

Par contre ce qui m'intrigue c'est que la méthode
application.calculate ou

worksheets("maFeuille").calculate ne fonctionne pas et
que seule

application.calculateFull permet réellement le recalcul.
D'ou la question?


En fouillant dans les archives Google j'ai pu voir pas
mal de fils sur ce

sujet. Sans doute trop pour m'y retrouver: il me manque
une petite synthèse,

un lien, ... pour bien comprendre.



D'avance merci pour votre aide



A+



Rv




.



Avatar
JpPradier
Bonjour Rv

Rajoute au début de ta fonction Application.volatile

j-p
Avatar
FxM
Bonjour,

Ton souci avec Google est de trouver le bon mot clé pour avoir un nombre
suffisant de réponse sans être noyé. IL faut parfois contourner le
problème (exemple : recalcul auto au lieu de calculate).
En l'occurence "volatile" est le mot juste.
application.volatile indique que la fonction est systématiquement
recalculée même si aucune des entrées la touchant n'a variée.

@+
FxM


Rv wrote:

Bonjour,

Je travaille avec Excel 2000.
Pouvez-vous m'éclairer sur la différence entre les mèthodes Calculate et
CalculateFull

Pour l'aide:
-------------------
méthode calculate:
Cette méthode calcule tous les classeurs ouverts, une feuille de calcul
particulière dans un classeur ou une plage de cellules déterminée dans une
feuille de calcul, comme indiqué dans le tableau ci-dessous...

---------------------
méthode calculateFull
Cette méthode provoque un calcul intégral des données dans tous les
classeurs ouverts.

---------------------

Apparement il y a une distinction entre "Cette méthode calcule" et
"Cette méthode provoque un calcul intégral des données"?

Pour essayer d'aller plus loin j'ai écrit deux fonctions personnalisées.
L'une faisant une somme de deux cellules, l'autre retournant la couleur de
fond d'une cellule(donc basé sur le formatage). La première se recalcule
automatiquement comme toutes les formules d'excel. La seconde ne se
recalcule pas. J'avais déjà vu cela sur ce forum il n'y a pas longtemps.
Donc pas vraiment surpris!

Par contre ce qui m'intrigue c'est que la méthode application.calculate ou
worksheets("maFeuille").calculate ne fonctionne pas et que seule
application.calculateFull permet réellement le recalcul. D'ou la question?

En fouillant dans les archives Google j'ai pu voir pas mal de fils sur ce
sujet. Sans doute trop pour m'y retrouver: il me manque une petite synthèse,
un lien, ... pour bien comprendre.



D'avance merci pour votre aide



A+



Rv






Avatar
Rv
Merci. J'avais déjà tenté sans résultats mais je vais reprendre au cas ou!
Et ... Pas mieux: résultats identiques. Donc toujours le même constat entre
calculate et calculateFull

A+

Rv


"JpPradier" a écrit dans le message
de news:
Bonjour Rv

Rajoute au début de ta fonction Application.volatile

j-p