Valeurs volatiles dans les fonctions

Les fonctions volatiles sont des fonctions dans lesquelles la valeur change chaque fois que la cellule est calculée. La valeur peut changer même si aucun des arguments de la fonction ne change. Ces fonctions sont recalculées à chaque recalcul d’Excel. Par exemple, imaginons une cellule qui appelle la fonction NOW. Chaque fois que la fonction NOW est appelée, elle renvoie automatiquement la date et l’heure actuelles.

Importante

Notez que les fonctions personnalisées Excel sont disponibles sur les plateformes suivantes.

  • Office pour Windows
    • Abonnement Microsoft 365
    • retail perpetual Office 2016 et versions ultérieures
  • Office sur Mac
  • Office sur le web

Les fonctions personnalisées Excel ne sont actuellement pas prises en charge dans les éléments suivants :

  • Office sur iPad
  • versions perpétuelles avec licence en volume d’Office 2019 ou version antérieure

Excel contient plusieurs fonctions volatiles intégrées, comme RAND et TODAY. Pour obtenir la liste complète des fonctions volatiles d’Excel, reportez-vous à Fonctions volatiles et non volatiles.

Les fonctions personnalisées vous permettent de créer vos propres fonctions volatiles, ce qui peut être utile lors de la gestion des dates, des heures, des nombres aléatoires et de la modélisation. Par exemple, les simulations Monte Carlo nécessitent la génération d’entrées aléatoires pour déterminer une solution optimale.

Si vous choisissez de générer automatiquement votre fichier JSON, déclarez une fonction volatile avec la balise @volatilede commentaire JSDoc . Pour plus d’informations sur la génération automatique, consultez Générer automatiquement des métadonnées JSON pour les fonctions personnalisées.

Voici un exemple de fonction personnalisée volatile, qui simule le roulement d’un dés à six faces.

GIF montrant une fonction personnalisée retournant une valeur aléatoire pour simuler le roulement d’un dés à six faces.

/**
 * Simulates rolling a 6-sided dice.
 * @customfunction
 * @volatile
 */
function roll6sided() {
  return Math.floor(Math.random() * 6) + 1;
}

Étapes suivantes

Voir aussi