S’applique à
Excel 2010

Résumé

Dans les versions de Microsoft Excel répertoriées dans la section « S’applique à », vous pouvez créer une fonction définie par l’utilisateur qui retourne un calcul personnalisé à l’aide de Visual Basic pour Applications. Toutefois, les fonctions définies par l’utilisateur ne peuvent pas effectuer d’actions qui modifient l’environnement Microsoft Excel lorsqu’elles sont appelées par une formule dans une cellule de feuille de calcul.

Informations supplémentaires

Une fonction définie par l’utilisateur appelée par une formule dans une cellule de feuille de calcul ne peut pas modifier l’environnement de Microsoft Excel. Cela signifie qu’une telle fonction ne peut effectuer aucune des opérations suivantes :

  • Insérer, supprimer ou mettre en forme des cellules dans la feuille de calcul.

  • Modifier la valeur d’une autre cellule.

  • Déplacer, renommer, supprimer ou ajouter des feuilles à un classeur.

  • Modifiez l’une des options d’environnement, telles que le mode de calcul ou les affichages d’écran.

  • Ajouter des noms à un classeur.

  • Définissez des propriétés ou exécutez la plupart des méthodes.

L’objectif des fonctions définies par l’utilisateur est de permettre à l’utilisateur de créer une fonction personnalisée qui n’est pas incluse dans les fonctions fournies avec Microsoft Excel. Les fonctions incluses dans Microsoft Excel ne peuvent pas non plus modifier l’environnement. Les fonctions peuvent effectuer un calcul qui retourne une valeur ou du texte à la cellule dans laquelle elles sont entrées. Toutes les modifications environnementales doivent être effectuées via l’utilisation d’une sous-routine Visual Basic. Pendant le calcul, Excel examine les précédents de la cellule qui contient une fonction définie par l’utilisateur. Si tous les précédents n’ont pas été calculés jusqu’à présent pendant le processus de calcul, Excel appelle finalement la fonction définie par l’utilisateur et passe une cellule Null ou Empty à la fonction. Excel s’assure ensuite que suffisamment de passes de calcul se produisent pour que tous les précédents soient calculés. Pendant la dernière passe de calcul, la fonction définie par l’utilisateur reçoit les valeurs actuelles des cellules. Cela peut entraîner l’appel de la fonction définie par l’utilisateur plus fréquemment que prévu et avec des arguments inattendus. Par conséquent, la fonction définie par l’utilisateur peut retourner des valeurs inattendues.Pour un calcul correct, toutes les plages utilisées dans le calcul doivent être passées à la fonction en tant qu’arguments. Si vous ne transmettez pas les plages de calcul en tant qu’arguments, au lieu de faire référence aux plages dans le code VBA de la fonction, Excel ne peut pas les prendre en compte dans le moteur de calcul. Par conséquent, Excel peut ne pas calculer correctement le classeur pour s’assurer que tous les précédents sont calculés avant de calculer la fonction définie par l’utilisateur.

Références

« Guide de l’utilisateur Visual Basic » version 5.0, Chapitre 4, « Qu’est-ce qu’une procédure Visual Basic » « Écriture d’une fonction de feuille de calcul définie par l’utilisateur », Fichier d’aide De Microsoft Excel 7.0 Visual Basic.

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.