Utilisation d'une fonction VBA dans une feuille Excel

Bonjour,

J'ai développé une fonction VBA : ADR

Lorsque j'utilise pour la première fois ADR dans une Feuille EXCEL, je fais Formules - Insérer une fonction - ADR etc. Cela fonctionne parfaitement.

Si maintenant je modifie la valeur des paramètres de ADR, la fonction ne recalcule pas automatiquement la nouvelle valeur, elle continue de ressortir l'ancienne ou, plus exactement, elle semble être inopérante

Il faut que je fasse à nouveau Formules - Insérer une fonction etc. pour que la fonction ADR calcule la nouvelle valeur avec succès

C'est on ne peut plus fastidieux

J'ai déjà développé des fonctions VBA il y a longtemps et je n'ai jamais eu ce problème : les fonctions se recalculaient automatiquement sans problème comme n'importe quelle fonction EXCEL SOMME(), NB.VIDE() ou autre

Merci de votre aide

Bonsoir,

lorsque les formules ne se mettent pas à jour sous Excel c'est souvent à cause de la mise en "manuel" de ces derniers. Disons que c'est une vérification simple à faire : Ruban Formules, puis sur la droite "option de calcul", vérifiez que vous êtes bien en "automatique".

Sinon au niveau du code VBA de votre fonction vous pouvez essayer de mettre au début "Volatile".

@ bientôt

LouReeD

Bonjour à tous,

et ta fonction doit recevoir en paramètre toutes les cellules/plages dont elle dépend pour qu'excel sache s'il doit la recalculer en cas modif.
Si c'est impossible
, en dernier recours la mettre Volatile
eric

bonjour RITOUT, salut Eriiic, LouReeD,

je suppose que vous utilisez une plage ou un tableau dans votre fonction et vous modifiez quelque chose dans une des 2 et la fonction ne réagit pas. Bon, il faut ajouter cette plage et/ou ce tableau aussi comme paramètre pour cette fonction. C'est aussi possible que quand vous modifiez quelque chose dans ce tableau, que cela modifie une autre cellule et que cela change la fonction, donc cela peut se passer aussi dans une mode indirecte.

Pouvez-vous nous montrer votre fonction ?

Merci à tous.

Conformément à vos suggestions, j'ai mis ma fonction en "Volatile"

Cela fonctionne parfaitement

MR

ce "volatile", c'est jurer dans l'église. Il faut éviter cela, si possible. A chaque recalculation du fichier, cette fonction fera son job, même si cela n'est pas strictement nécessaire. Dans des petits fichiers, on ne voit pas cela, mais pour les autres ... problème suivant.

Non, on ne t'a pas dit de la mettre Volatile, mais qu'elle doit recevoir en paramètre les plages et cellules utilisées !

Rechercher des sujets similaires à "utilisation fonction vba feuille"