Fonction qui ne se recalcule pas automatiquement

Bonjour

Je viens de créer une fonction en VBA, celle-ci fonctionne parfaitement, mais lorsque je change une valeur dans mon tableau, elle ne se recalcule pas automatiquement, je suis obligé de sélectionner la cellule puis de valider à nouveau et de tirer vers le bas pour que les autres cellules fassent de même.

La fonction calcule le produit des valeurs en B en fonction du critère en C correspondant aux valeurs en A. En E le résultat avec la fonction matricielle "PRODUIT", en F le même résultat mais avec la fonction "Produit_si()". Je sais pas si je suis assez clair, mais le fichier joint devrait vous éclairer.

Je pourrais me contenter de la fonction "PRODUIT", j'ai voulu essayer d'avoir le même résultat en VBA pour arriver à maitriser le VBA.

D'où vient le problème ? merci.

https://www.cjoint.com/c/IBorPn6onaf

Bonsoir Papoumac32,

ceci t'aidera peut-être :

calcul automatique

dhany

Merci, pour cette réponse. Je suis déjà en calcul automatique.

bonjour,

ajoute

application.volatile

au début de ta fonction

Bonsoir,

Pour forcer le recalcul d'une plage,

Range(plage).Dirty

bonjour,

ajoute

application.volatile

au début de ta fonction

Merci beaucoup, maintenant tout est ok.

bonsoir,

excel détermine s'il doit recalculer une fonction en regardant les paramètres de la fonction. Si une cellule modifiée se trouve dans les paramètres ou modifie une cellule qui est dans les paramètres, la fonction sera recalculée. Si la fonction utilise la valeur d'une cellule qui n'est pas dans les paramètres ou qui n'impacte pas une cellule qui est dans les paramètres, la fonction n'est pas recalculée sauf si on utilise la méthode application.volatile. Dans ce cas, la fonction sera recalculée à tout changement d'une cellule.

si dans les paramètres on fait appel à la fonction indirect ou decaler(offset en anglais), la fonction est également recalculée à tout changement de cellule. Ces 2 dernières fonctions sont très pénalisantes pour des classeurs qui les utilisent en grand nombre car elles provoquent de très très nombreux recalculs, de même les fonctions personnalisées contenant application.volatile. C'est pourquoi, pour ces dernières, je conseillerai de mettre toutes les cellules utilisées en paramètres, plutôt que d'utiliser application.volatile.

Bonjour

Merci pour ces précisions.

Rechercher des sujets similaires à "fonction qui recalcule pas automatiquement"