Comment éditer les formules de la feuille de calcul dans Excel en utilisant C#

Modifier des formules Excel en C# avec IronXL

This article was translated from English: Does it need improvement?
Translated
View the article in English

Une formule Excel est une expression commençant par un signe égal (=) utilisée pour les calculs mathématiques, la manipulation de données et la dérivation de résultats en fonction des valeurs des cellules. Il peut contenir des opérations arithmétiques, des fonctions, des références de cellules, des constantes et des opérations logiques. Les formules permettent des mises à jour dynamiques lorsque les valeurs des cellules changent, faisant d'Excel un outil polyvalent pour l'automatisation des tâches et l'analyse des données. IronXL permet de modifier les formules existantes dans un fichier Excel, de récupérer le résultat de la formule et de forcer la réévaluation du classeur. Cela garantit que chaque formule sera recalculée pour obtenir des résultats précis. IronXL prend en charge plus de 165 formules .

Démarrage rapide : Modifier instantanément la formule d'une cellule

Définissez ou mettez à jour une formule à l'aide de la propriété Formula d'IronXL sur n'importe quelle cellule. Appelez ensuite EvaluateAll() pour recalculer toutes les formules : vous démarrerez rapidement et obtiendrez des résultats mis à jour sans problème.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronXL avec le gestionnaire de packages NuGet

    PM > Install-Package IronXL.Excel

  2. Copiez et exécutez cet extrait de code.

    IronXL.WorkBook.Load("MyFile.xlsx").DefaultWorkSheet["B2"].Formula = "=MOYENNE(C1,C2)";
    workBook.EvaluateAll();
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronXL dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer


Commencez avec IronXL

Exemple de modification des formules

Pour modifier ou définir la formule, accédez à la propriété Formule . Sélectionnez d'abord une plage ou une cellule, puis accédez à la propriété Formule et définissez-la. La propriété Formula est à la fois une propriété de type get et set qui renvoie la chaîne de formule, le cas échéant. Utilisez la méthode EvaluateAll pour réévaluer l'intégralité du classeur et garantir ainsi des calculs précis.

:path=/static-assets/excel/content-code-examples/how-to/edit-formulas-edit-formulas.cs
using IronXL;

// Load workbook
WorkBook workBook = WorkBook.Load("Book1.xlsx");

// Select worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Edit or Set formula
workSheet["A4"].Formula = "=SUM(A1,A3)";

// Reevaluate the entire workbook
workBook.EvaluateAll();
Imports IronXL

' Load workbook
Private workBook As WorkBook = WorkBook.Load("Book1.xlsx")

' Select worksheet
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Edit or Set formula
Private workSheet("A4").Formula = "=SUM(A1,A3)"

' Reevaluate the entire workbook
workBook.EvaluateAll()
$vbLabelText   $csharpLabel

Récupérer le résultat de la formule

Pour récupérer le résultat d'une formule, il est préférable d'utiliser la propriété FormattedCellValue de la cellule pour un résultat plus précis. Dans une plage sélectionnée, vous pouvez accéder à la cellule en utilisant la méthode First , qui sélectionne le premier élément de la séquence, généralement " A4 " dans notre exemple. À partir de là, accédez à la propriété FormattedCellValue.

:path=/static-assets/excel/content-code-examples/how-to/edit-formulas-retrieve-formula-value.cs
using IronXL;
using System;
using System.Linq;

// Load workbook
WorkBook workBook = WorkBook.Load("Book1.xlsx");

// Select worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Retrieve the result value
string value = workSheet["A4"].First().FormattedCellValue;

// Print the result to console
Console.WriteLine(value);
Imports IronXL
Imports System
Imports System.Linq

' Load workbook
Private workBook As WorkBook = WorkBook.Load("Book1.xlsx")

' Select worksheet
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Retrieve the result value
Private value As String = workSheet("A4").First().FormattedCellValue

' Print the result to console
Console.WriteLine(value)
$vbLabelText   $csharpLabel

Formule prise en charge

Excel contient plus de 450 formules qui peuvent être utilisées pour effectuer des calculs à des fins très diverses. IronXL prend en charge environ 165 des formules les plus couramment utilisées. Veuillez consulter la liste suivante pour connaître les formules prises en charge :

Nom de la formule Description du projet
ABSRenvoie la valeur absolue d'un nombre, sans tenir compte de son signe.
INTArrondit un nombre à l'entier inférieur le plus proche.
COMPTERCompte le nombre de cellules contenant des nombres compris dans une plage spécifiée.
SIEffectue un test conditionnel et renvoie une valeur si la condition est vraie et une autre si elle est fausse.
SOMMEAdditionne une série de nombres.
MOYENNECalcule la moyenne d'une série de nombres.
MINRenvoie la valeur minimale d'un ensemble de nombres.
MAXRenvoie la valeur maximale d'un ensemble de nombres.
RANGÉERenvoie le numéro de ligne d'une référence de cellule.
COLONNERenvoie le numéro de colonne d'une référence de cellule.
QUEReprésente une valeur d'erreur pour " Non disponible " ou données manquantes.
VANCalcule la valeur actuelle nette d'une série de flux de trésorerie à un taux d'actualisation spécifié.
Écart typeCalcule l'écart type d'un ensemble de nombres.
SIGNERenvoie le signe d'un nombre : -1 pour négatif, 0 pour zéro ou 1 pour positif.
RONDArrondit un nombre à un nombre spécifié de décimales.
CHERCHERRecherche une valeur dans une plage et renvoie la valeur correspondante d'une autre plage.
INDICERenvoie la valeur d'une cellule située à une ligne et une colonne spécifiées dans une plage donnée.
REPTRépète une chaîne de texte un nombre de fois spécifié.
MILIEUExtrait une portion de texte d'une chaîne de caractères donnée en fonction d'une position de départ et d'une longueur spécifiées.
SEULEMENTRenvoie le nombre de caractères dans une chaîne de texte.
VALEURConvertit une chaîne de caractères représentant un nombre en un nombre réel.
VRAIReprésente la valeur logique de " Vrai ".
FAUXReprésente la valeur logique de " Faux ".
ETVérifie si toutes les conditions spécifiées sont vraies et renvoie " Vrai " si c'est le cas, et " Faux " sinon.
OUVérifie si au moins une des conditions spécifiées est vraie et renvoie " Vrai " si c'est le cas, et " Faux " sinon.
PASInverse la valeur logique d'une condition, transformant " Vrai " en " Faux " et vice versa.
CONTRERenvoie le reste de la division d'un nombre par un autre.
DMINExtrait la valeur minimale d'une base de données en fonction de critères spécifiés.
NOTRECalcule la variance d'un ensemble de nombres.
TEXTEConvertit un nombre en texte selon un format spécifié.
PVCalcule la valeur actuelle d'un investissement ou d'un prêt en fonction d'une série de flux de trésorerie et d'un taux d'actualisation.
FV (Valeur future)Calcule la valeur future d'un investissement ou d'un prêt en fonction de paiements périodiques et d'un taux d'intérêt spécifié.
NPER (Nombre de périodes)Détermine le nombre de périodes de paiement nécessaires pour atteindre un objectif financier donné, compte tenu des paiements réguliers et d'un taux d'intérêt.
PMT (Paiement)Calcule le paiement périodique nécessaire pour rembourser un prêt ou un investissement, y compris le capital et les intérêts.
TAUX (Taux d'intérêt)Calcule le taux d'intérêt nécessaire pour atteindre un objectif financier grâce à une série de paiements périodiques.
MIRR (Taux de rendement interne modifié)Calcule le taux de rendement interne d'une série de flux de trésorerie, en tenant compte de plusieurs taux de réinvestissement et de financement.
TRI (Taux de rendement interne)Calcule le taux de rendement interne d'une série de flux de trésorerie, indiquant le taux auquel un investissement atteint le seuil de rentabilité.
RETGénère un nombre décimal aléatoire compris entre 0 et 1.
COURESPONDRERecherche une valeur spécifiée dans une plage et renvoie la position relative de l'élément trouvé.
DATECrée une valeur de date en spécifiant l'année, le mois et le jour.
TEMPSCrée une valeur temporelle en spécifiant l'heure, la minute et la seconde.
JOURExtrait le jour d'une date donnée.
MOISExtrait le mois d'une date donnée.
ANNÉEExtrait l'année d'une date donnée.
JOUR DE LA SEMAINERenvoie le jour de la semaine pour une date spécifiée.
HEUREExtrait l'heure d'une heure donnée.
MINUTEExtrait la minute d'une heure donnée.
DEUXIÈMEExtrait la seconde d'un instant donné.
MAINTEQUENTRenvoie la date et l'heure actuelles.
ZONESCompte le nombre de plages individuelles dans une référence.
LIGNESCompte le nombre de lignes dans une plage spécifiée.
COLONNESCompte le nombre de colonnes dans une plage spécifiée.
COMPENSERRenvoie un décalage de référence par rapport à une cellule spécifiée, d'un certain nombre de lignes et de colonnes.
RECHERCHERecherche une sous-chaîne de caractères dans une chaîne de texte et renvoie sa position.
TRANSPOSERTranspose les lignes et les colonnes d'une plage.
ATAN2Calcule l'arctangente d'une coordonnée x et y spécifiée.
SELCalcule l'arcsinus d'une valeur spécifiée.
ACOSCalcule l'arccosinus d'une valeur spécifiée.
CHOISIRRenvoie une valeur issue d'une liste de valeurs en fonction d'une position spécifiée.
RECHERCHERecherche une valeur dans la première ligne d'un tableau ou d'une plage et renvoie une valeur dans la même colonne à partir d'une ligne spécifiée.
RECHERCHEVRecherche une valeur dans la première colonne d'un tableau ou d'une plage et renvoie une valeur dans la même ligne à partir d'une colonne spécifiée.
ISREFVérifie si une valeur est une référence et renvoie " True " si c'est le cas, ou " False " sinon.
ENREGISTRERCalcule le logarithme d'un nombre dans une base spécifiée.
CARBONISERRenvoie le caractère spécifié par un numéro donné.
INFÉRIEURConvertit le texte en minuscules.
SUPÉRIEURConvertit le texte en majuscules.
APPROPRIÉMet en majuscule la première lettre de chaque mot d'une chaîne de texte.
GAUCHEExtrait un nombre spécifié de caractères du début d'une chaîne de texte.
DROITEExtrait un nombre spécifié de caractères à partir de la fin d'une chaîne de texte.
EXACTCompare deux chaînes de caractères et renvoie " Vrai " si elles sont identiques, et " Faux " si elles ne le sont pas.
GARNITURESupprime les espaces superflus d'une chaîne de texte, à l'exception des espaces simples entre les mots.
REMPLACERRemplace un nombre spécifié de caractères dans une chaîne de texte par un nouveau texte.
REMPLAÇANTRemplace les occurrences d'un texte spécifié dans une chaîne de texte par un nouveau texte.
CODERenvoie la valeur numérique Unicode du premier caractère d'une chaîne de texte.
TROUVERRecherche une sous-chaîne spécifique dans une chaîne de texte et renvoie sa position.
ISERRVérifie si une valeur est une valeur d'erreur autre que " #N/A " et renvoie " True " si c'est le cas, ou " False " sinon.
ISTEXTEVérifie si une valeur est du texte et renvoie " True " si c'est le cas, ou " False " sinon.
ISNUMBERVérifie si une valeur est un nombre et renvoie " Vrai " si c'est le cas, ou " Faux " si ce n'est pas le cas.
ISBLANKVérifie si une cellule est vide et renvoie " Vrai " si c'est le cas, ou " Faux " si elle ne l'est pas.
TConvertit une valeur au format texte.
DATEVALEURConvertit une date représentée sous forme de texte en un numéro de série de date.
FAIRE LE MÉQUEGESupprime les caractères non imprimables du texte.
MDETERMCalcule le déterminant matriciel d'un tableau.
MINVERSERenvoie l'inverse multiplicatif (réciproque) d'une matrice.
MMULTMultiplie deux matrices ensemble.
IPMTCalcule la part des intérêts d'un remboursement de prêt pour une période donnée.
PPMTCalcule la part du capital remboursée par un prêt pour une période donnée.
COMPTECompte le nombre de cellules non vides dans une plage, qu'elles contiennent du texte ou des nombres.
PRODUITMultiplie tous les nombres d'une plage.
FAITCalcule la factorielle d'un nombre.
ISNONTEXTEVérifie si une valeur n'est pas du texte et renvoie " True " si ce n'est pas du texte, ou " False " si c'est du texte.
EXPÉDITIONEstime la variance d'une population à partir d'un échantillon.
TRONCTronque un nombre à un nombre spécifié de décimales.
ISENREGISTRERIQUEVérifie si une valeur est une valeur logique (booléenne) et renvoie " True " si c'est le cas, ou " False " si ce n'est pas le cas.
Département du Travail des États-UnisConvertit un nombre au format texte avec un symbole monétaire et deux décimales.
RÉCAPITULATSIArrondit un nombre à un nombre spécifié de décimales.
ARRONDIS À L'INFÉRIEURArrondit un nombre à un nombre spécifié de décimales.
RANGRenvoie le rang d'un nombre dans une liste, avec des options pour gérer les égalités.
ADRESSERenvoie l'adresse de la cellule sous forme de texte en fonction des numéros de ligne et de colonne.
JOURS360Calcule le nombre de jours entre deux dates en utilisant une année de 360 jours.
AUJOURD'HUIRenvoie la date actuelle.
MÉDIANRenvoie la médiane (valeur centrale) d'un ensemble de nombres.
SOMMEPRODMultiplie les composantes correspondantes dans les tableaux et renvoie la somme des produits.
Calcule le sinus hyperbolique d'un nombre.
MATRAQUECalcule le cosinus hyperbolique d'un nombre.
TANHCalcule la tangente hyperbolique d'un nombre.
SELHCalcule l'inverse du sinus hyperbolique d'un nombre.
AMATRAQUECalcule l'inverse du cosinus hyperbolique d'un nombre.
ATANHCalcule l'arc tangente hyperbolique d'un nombre.
Fonction externeReprésente un appel de fonction ou une opération fournie par un module complémentaire externe ou une fonction personnalisée.
TYPE D'ERREURRenvoie un nombre correspondant au type d'erreur pour une valeur donnée.
AVEDEVCalcule l'écart absolu moyen d'un ensemble de valeurs par rapport à leur moyenne.
combinerCalcule le nombre de combinaisons pour un nombre donné d'éléments choisis parmi un ensemble plus vaste.
MÊMEArrondit un nombre à l'entier pair supérieur.
SOLArrondit un nombre à l'entier inférieur, au multiple le plus proche d'une valeur statistique spécifiée.
PLAFONDArrondit un nombre au multiple supérieur le plus proche d'une valeur numérique spécifiée.
NOUMDISTCalcule la fonction de répartition normale cumulative pour une valeur spécifiée.
NOUMSDISTCalcule la fonction de répartition cumulative normale standard.
NOUMINVCalcule l'inverse de la fonction de répartition cumulative normale pour une probabilité spécifiée.
NOUMSINVCalcule l'inverse de la fonction de répartition cumulative normale standard.
STETARDISERConvertit une valeur en une distribution normale standard avec une moyenne de 0 et un écart type de 1.
IMPAIRArrondit un nombre à l'entier impair supérieur le plus proche.
POISSONCalcule la probabilité de distribution de Poisson pour un nombre donné d'événements.
TDISTCalcule la distribution t de Student pour une valeur et un nombre de degrés de liberté spécifiés.
SOMMEXMY2Calcule la somme des carrés des différences entre les valeurs correspondantes de deux tableaux.
SOMMEX2MY2Calcule la somme des carrés des différences entre les valeurs correspondantes de deux tableaux.
SOMMEX2PY2Calcule la somme des carrés de la somme des valeurs correspondantes dans deux tableaux.
INTERCEPTERCalcule le point où une ligne de tendance croise l'axe des ordonnées dans un graphique.
PENTECalcule la pente d'une courbe de tendance sur un graphique.
DEVSQRenvoie la somme des carrés des écarts des points de données par rapport à leur moyenne.
SOMMESQCalcule la somme des carrés d'un ensemble de nombres.
GRETRenvoie la k-ième plus grande valeur d'un ensemble de données, où k est spécifié.
PETITRenvoie la k-ième plus petite valeur d'un ensemble de données, où k est spécifié.
PERCENTILERenvoie le k-ième percentile d'un ensemble de données, où k est spécifié.
RANG POURCENTAGERenvoie le rang d'une valeur dans un ensemble de données, exprimé en pourcentage du nombre total de valeurs.
CONTREERenvoie la valeur la plus fréquente dans un ensemble de données.
ENCHAÎNERCombine plusieurs chaînes de texte en une seule.
POUVOIRÉlève un nombre à une puissance spécifiée.
RADIANSConvertit les degrés en radians.
DIPLÔMESConvertit les radians en degrés.
TOTALEffectue divers calculs (par exemple, somme, moyenne) sur une plage, et vous pouvez choisir d'inclure ou d'exclure d'autres résultats de SOUS-TOTAL dans la plage.
SOMME.SIAdditionne tous les nombres d'une plage qui répondent à une condition spécifiée.
NB.SICompte le nombre de cellules d'une plage qui répondent à une condition spécifiée.
COMPTE À BLANCCompte le nombre de cellules vides dans une plage.
ROMAINConvertit un chiffre arabe en chiffre romain.
LIEN HYPERTEXTEECrée un lien hypertexte vers une page web ou un fichier.
QUOIRenvoie la valeur maximale d'un ensemble de nombres, y compris des valeurs textuelles et logiques.
LE MIENRenvoie la valeur minimale d'un ensemble de nombres, y compris des valeurs textuelles et logiques.

Questions Fréquemment Posées

Comment puis-je modifier des formules dans une feuille de calcul Excel en utilisant C# ?

Pour modifier des formules dans une feuille de calcul Excel en utilisant C#, vous pouvez utiliser la bibliothèque IronXL. Tout d'abord, téléchargez la bibliothèque depuis NuGet, puis chargez ou créez un fichier Excel. Accédez à la propriété Formula d'une cellule ou d'une plage pour définir ou modifier les formules selon les besoins.

Quelles sont les étapes pour récupérer le résultat d'une formule dans un fichier Excel en utilisant C# ?

Vous pouvez récupérer le résultat d'une formule dans un fichier Excel en utilisant la bibliothèque IronXL en accédant à la propriété FormattedCellValue de la cellule. Cette propriété fournit le résultat évalué de la formule tel qu'il est affiché dans Excel.

Comment puis-je m'assurer que toutes les formules d'un classeur Excel sont à jour après modification ?

Utilisez la méthode EvaluateAll d'IronXL pour réévaluer toutes les formules du classeur. Cette méthode garantit que toutes les formules sont recalculées et reflètent les changements de données les plus récents.

Quels types de formules Excel sont pris en charge par une bibliothèque .NET comme IronXL ?

IronXL prend en charge plus de 165 formules Excel courantes, y compris SOMME, MOYENNE, SI, NB, RECHERCHEV, ABS, ENT, et d'autres, qui couvrent un large éventail de calculs arithmétiques, de tests logiques et d'analyses statistiques.

Puis-je effectuer des opérations logiques dans des formules Excel en utilisant une bibliothèque C# ?

Oui, en utilisant IronXL, vous pouvez effectuer des opérations logiques dans des formules Excel. Cela vous permet de créer des calculs dynamiques et conditionnels au sein de vos fichiers Excel.

Comment puis-je exporter un fichier Excel modifié en C# après avoir modifié des formules ?

Après avoir modifié des formules dans votre fichier Excel en utilisant IronXL, vous pouvez exporter les modifications en utilisant la méthode SaveAs. Cela vous permet de sauvegarder le fichier modifié à un emplacement spécifié sur votre système.

Est-il possible de modifier les formules de plusieurs cellules à la fois en utilisant une bibliothèque C# ?

Oui, avec IronXL, vous pouvez modifier les formules pour plusieurs cellules ou une plage de cellules à la fois en itérant sur la plage désirée et en définissant la propriété Formula pour chaque cellule.

Quelle est la meilleure façon pour commencer à modifier des fichiers Excel en C# ?

Pour commencer à modifier des fichiers Excel en C#, téléchargez IronXL depuis NuGet. Ensuite, créez un nouveau projet, chargez votre fichier Excel et utilisez l'API d'IronXL pour manipuler les formules et d'autres données selon les besoins.

Comment puis-je résoudre les erreurs de formule dans Excel en utilisant une bibliothèque C# ?

Si vous rencontrez des erreurs de formule en utilisant IronXL, assurez-vous que la syntaxe de la formule est correcte, que les données nécessaires sont disponibles dans les cellules référencées, et utilisez la méthode EvaluateAll pour recalculer le classeur pour en assurer l'exactitude.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il a une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, documentation et expérience globale.
Prêt à commencer?
Nuget Téléchargements 1,738,553 | Version: 2025.11 vient de sortir