
La validation des données dans Excel garantit que les utilisateurs saisissent uniquement des données valides dans les feuilles de calcul. Lors de la conception de formulaires, de la collecte de données ou de la création de modèles financiers, les validations de données aident à maintenir la structure et à minimiser les erreurs des utilisateurs. Dans ce billet, nous vous montrerons comment appliquer la validation des données dans Excel en utilisant C# de manière programmatique.
Cet article aborde les sujets suivants :
- Bibliothèque de validation de données Excel C#
- Créez une liste déroulante dans Excel en utilisant C#
- Restrict whole number input in Excel using C#
- Validation des plages de dates dans Excel à l’aide de C#
- Validation des données basées sur des formules dans Excel
- Gérer les données invalides avec des alertes d’erreur dans Excel
- Ressources gratuites
C# Bibliothèque de validation de données Excel
La validation des données garantit que les utilisateurs saisissent des entrées valides et attendues dans des feuilles de calcul Excel. Nous utiliserons l’API Aspose.Cells for .NET pour ajouter différents types de validation des données dans Excel. Elle offre une approche puissante et flexible pour définir des règles telles que des listes déroulantes, des plages numériques, des limites de dates et des formules personnalisées, le tout sans nécessiter Microsoft Excel.
Installez le package Aspose.Cells for .NET via NuGet dans votre projet :
PM> Install-Package Aspose.Cells
Ensuite, importez l’espace de noms pertinent :
using Aspose.Cells;
Créer une validation de liste déroulante dans Excel en utilisant C#
Vous pouvez restreindre l’entrée de l’utilisateur à un ensemble d’options prédéfini en créant une validation de liste déroulante dans Excel. Cela garantit des valeurs cohérentes, particulièrement utiles dans les formulaires ou les modèles.
Suivez ces étapes pour créer une liste déroulante dans Excel en utilisant C#:
- Créez un nouvel objet
Workbook
. - Accédez à la première
worksheet
en utilisant son index. - Définir la cible
CellArea
pour validation. - Accédez à la collection de Validations de la feuille de calcul.
- Ajoutez une nouvelle validation en utilisant la méthode
Add()
. - Définissez le type de validation sur
ValidationType.List
. - Définissez les options de liste déroulante en utilisant la propriété
Formula1
(séparées par des virgules). - Ajoutez la zone de cellule à la validation en utilisant la méthode
AddArea()
. - Enregistrez le classeur pour générer le fichier Excel validé.
Voici l’exemple de code C# qui implémente ces étapes :
// Créer un nouveau classeur Excel
var workbook = new Workbook();
// Accédez à la première feuille de calcul dans le classeur
var sheet = workbook.Worksheets[0];
// Définissez la zone de cellule cible pour la validation (A1 dans ce cas)
var area = new CellArea
{
StartRow = 0, // Row index starts from 0 (Row 1)
EndRow = 0, // Apply to a single row
StartColumn = 0, // Column index starts from 0 (Column A)
EndColumn = 0 // Apply to a single column
};
// Accédez à la collection de validations de la feuille de calcul.
var validations = sheet.Validations;
// Ajouter une nouvelle entrée de validation pour la zone de cellule spécifiée
int index = validations.Add(area);
var validation = validations[index];
// Définissez le type de validation sur une liste déroulante.
validation.Type = ValidationType.List;
// Définir les éléments de liste autorisés (valeurs séparées par des virgules)
validation.Formula1 = "Red,Green,Blue";
// Définir le message d'entrée affiché lorsque la cellule est sélectionnée
validation.InputMessage = "Select a color from the list.";
// Définissez le message d'erreur affiché si des données invalides sont saisies
validation.ErrorMessage = "Only Red, Green, or Blue are allowed.";
// Activez l'affichage du message d'erreur
validation.ShowError = true;
// Appliquez la zone définie à la validation.
validation.AddArea(area);
// Enregistrez le classeur dans le chemin de fichier spécifié.
workbook.Save("dropdown-validation.xlsx");

Créer une validation de liste déroulante dans Excel en utilisant C#
Restreindre aux Nombres Entiers dans Excel en utilisant C#
La validation des nombres entiers garantit que les utilisateurs saisissent uniquement des valeurs entières valides dans Excel, ce qui est idéal pour les champs de quantité, les saisies d’âge ou les feuilles de budget où les décimales ou le texte ne sont pas acceptables.
Disons que vous voulez restreindre une cellule pour n’accepter que des nombres compris entre 1 et 100. Sans cette règle, les utilisateurs pourraient accidentellement entrer des saisies invalides comme 150 ou abc, ce qui entraînerait des erreurs de calcul ou des problèmes logiques dans votre feuille de calcul.
Avec Aspose.Cells for .NET, vous pouvez appliquer cette règle de validation par programme en C# sans avoir besoin de la configurer manuellement dans Excel.
Le code suivant montre comment restreindre les utilisateurs à n’entrer que les valeurs autorisées :
using Aspose.Cells;
// Créer un nouveau classeur Excel
var workbook = new Workbook();
// Accédez à la première feuille de calcul dans le classeur
var sheet = workbook.Worksheets[0];
// Définir la zone de cellule cible — B2 (ligne 1, colonne 1)
var area = new CellArea
{
StartRow = 1,
EndRow = 1,
StartColumn = 1,
EndColumn = 1
};
// Accédez à la collection des validations de la feuille de calcul
var validations = sheet.Validations;
// Ajouter une nouvelle validation et obtenir son index
int index = validations.Add(area);
// Récupérez l'objet de validation en utilisant l'index
var validation = validations[index];
// Définir le type de validation sur NombreEntier (seuls les entiers sont autorisés)
validation.Type = ValidationType.WholeNumber;
// Définir l'opérateur sur Entre
validation.Operator = OperatorType.Between;
// Définir la plage valide : 1 à 100
validation.Formula1 = "1";
validation.Formula2 = "100";
// Définissez le message d'erreur qui apparaît lorsque des données invalides sont saisies.
validation.ErrorMessage = "Enter a number between 1 and 100.";
// Activer l'affichage de l'alerte d'erreur lorsque la validation échoue
validation.ShowError = true;
// (Additionnel si vous n'utilisez pas Add(area) plus tôt) Ajoutez la zone à la validation explicitement
validation.AddArea(area);
// Enregistrez le classeur dans un fichier
workbook.Save("numbers-validation.xlsx");

Restreindre aux Nombres Entiers dans Excel en utilisant C#
Appliquer la validation de la plage de dates dans Excel en utilisant C#
La validation des dates vous aide à vous assurer que les utilisateurs n’entrent que des dates valides. Elle est utile dans les outils de planification, les dossiers de présence, les feuilles de réservation et dans tout scénario où vous avez besoin de dates dans une plage spécifique.
Par exemple, imaginez que vous construisez un modèle de planification de projet et que vous souhaitez limiter les utilisateurs à entrer des dates uniquement dans l’année 2024. Permettre aux utilisateurs d’entrer une date en dehors de cette plage (comme 2023 ou 2025) pourrait casser des formules ou créer des enregistrements incohérents.
Aspose.Cells for .NET facilite l’application de validations de dates sur des cellules spécifiques, de sorte que les utilisateurs ne peuvent entrer que des dates qui répondent à vos critères.
Le code suivant illustre comment s’assurer que les utilisateurs ne peuvent entrer que des dates entre le 1er janvier 2024 et le 31 décembre 2024. Tout ce qui est en dehors de cette plage déclenchera une erreur, vous aidant à maintenir des données plus propres et plus précises dans votre feuille de calcul.
using Aspose.Cells;
// Créer un nouveau classeur Excel
var workbook = new Workbook();
// Accédez à la première feuille de calcul dans le classeur.
var sheet = workbook.Worksheets[0];
// Définir la zone de cellule pour appliquer la validation — C3 (ligne 2, colonne 2)
var area = new CellArea
{
StartRow = 2,
EndRow = 2,
StartColumn = 2,
EndColumn = 2
};
// Accédez à la collection de validations de la feuille de calcul
var validations = sheet.Validations;
// Ajoutez une nouvelle validation et obtenez son index.
int index = validations.Add(area);
// Récupérer l'objet de validation
var validation = validations[index];
// Définissez le type de validation sur Date
validation.Type = ValidationType.Date;
// Définissez l'opérateur sur Entre (dates de début et de fin)
validation.Operator = OperatorType.Between;
// Spécifiez la plage de dates valide : 1 janvier 2024 au 31 décembre 2024
validation.Formula1 = "2024-01-01";
validation.Formula2 = "2024-12-31";
// Définir le message d'erreur à afficher lorsque la date est hors de portée.
validation.ErrorMessage = "Date must be within the year 2024.";
// Activer l'affichage de l'alerte d'erreur
validation.ShowError = true;
// Réanalyser la zone pour s'assurer que la validation est correctement liée.
validation.AddArea(area);
// Enregistrez le classeur à l'emplacement spécifié
workbook.Save("date-validation.xlsx");
Utiliser la validation basée sur des formules dans Excel en utilisant C#
Parfois, des menus déroulants simples ou des plages de nombres fixes ne suffisent pas, surtout lorsque vos règles dépendent des valeurs dans d’autres cellules. Avec la validation basée sur des formules, vous pouvez définir des règles personnalisées en utilisant des formules de type Excel. Ces règles peuvent faire référence à d’autres cellules et évaluer dynamiquement si l’entrée est valide. Par exemple, vous voudrez peut-être vous assurer que la valeur dans la cellule B1 est toujours supérieure à la valeur dans A1. C’est un scénario courant dans les comparaisons de prix, les feuilles de notation ou les séquences de dates.
Aspose.Cells for .NET prend entièrement en charge cette fonction et vous permet de définir des validations en utilisant des formules personnalisées tout comme dans Excel.
Le code suivant montre comment appliquer des validations basées sur des formules dans Excel en utilisant C#.
using Aspose.Cells;
// Créer un nouveau classeur Excel
var workbook = new Workbook();
// Accédez à la première feuille de calcul dans le classeur
var sheet = workbook.Worksheets[0];
// Définir la zone de cellule pour la validation — B1 (ligne 0, colonne 1)
var area = new CellArea
{
StartRow = 0,
EndRow = 0,
StartColumn = 1,
EndColumn = 1
};
// Accédez à la collection de validations des feuilles de calcul
var validations = sheet.Validations;
// Ajoutez une nouvelle validation à la collection et obtenez son index.
int index = validations.Add(area);
// Récupérer l'objet de validation par index
var validation = validations[index];
// Définissez le type de validation sur Personnalisé (utilisé pour les règles basées sur des formules)
validation.Type = ValidationType.Custom;
// Définissez la formule personnalisée : B1 doit être supérieur à A1
validation.Formula1 = "=B1>A1";
// Définir le message d'erreur affiché lorsque la validation échoue
validation.ErrorMessage = "Value in B1 must be greater than A1.";
// Activer l'affichage de l'alerte d'erreur en cas d'entrée invalide
validation.ShowError = true;
// Ajoutez explicitement la zone pour vous assurer qu'elle est couverte par la validation.
validation.AddArea(area);
// Enregistrez le classeur à l'emplacement de fichier spécifié.
workbook.Save("formula-validation.xlsx");
Configurer les messages d’entrée et d’erreur dans Excel en utilisant C#
L’application de la validation des données n’est qu’une partie de la solution. Guider les utilisateurs lorsqu’ils saisissent des données incorrectes est tout aussi important, et c’est là que les alertes et messages personnalisés jouent un rôle clé.
Aspose.Cells for .NET vous permet de configurer des messages d’entrée utiles et des alertes d’erreur qui apparaissent lorsque les utilisateurs sélectionnent une cellule ou saisissent des données invalides. Ces messages améliorent l’expérience utilisateur, réduisent la confusion et rendent vos modèles Excel plus professionnels.
Par exemple, lorsque l’utilisateur clique dans une cellule, vous pouvez afficher une bulle d’information comme
`Seules les valeurs comprises entre 1 et 100 sont autorisées.”
Et si ils saisissent une valeur incorrecte, Excel peut afficher une boîte de dialogue indiquant :
`Entrée invalide : Veuillez saisir un numéro entre 1 et 100.”
Vous pouvez également personnaliser la façon dont Excel réagit aux entrées invalides en choisissant de bloquer complètement l’utilisateur (Stop
), de lui permettre de continuer avec un avertissement (Warning
), ou simplement d’afficher un message d’information (Information
).
Suivez ces étapes pour configurer des alertes de validation en utilisant C#:
- Après avoir configuré la règle de validation, définissez
InputTitle
etInputMessage
pour afficher le texte d’aide lorsqu’un utilisateur sélectionne la cellule. - Définissez
ErrorTitle
etErrorMessage
pour expliquer ce qui a mal tourné si la validation échoue. - Choisissez un
AlertStyle
— les options incluentStop
,Warning
etInformation
. - Définissez
ShowError
surtrue
pour activer l’alerte de validation. - Enregistrez le classeur.
Ces alertes rendent votre feuille de calcul plus intuitive et conviviale, surtout lorsque vous créez des modèles à utiliser ou à réutiliser fréquemment.
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
// Configurez la zone de validation — appliquez à la cellule C1
var area = new CellArea
{
StartRow = 0,
EndRow = 0,
StartColumn = 2, // Column C = 2
EndColumn = 2
};
// Ajouter une validation
int index = sheet.Validations.Add(area);
var validation = sheet.Validations[index];
validation.Type = ValidationType.Custom;
// Cette formule évalue toujours à FAUX
validation.Formula1 = "=FALSE";
// Configurer les messages d'entrée et d'erreur
validation.InputTitle = "Input Restricted";
validation.InputMessage = "Try entering anything to see the validation.";
validation.ErrorTitle = "Invalid Input";
validation.ErrorMessage = "You triggered this validation error successfully!";
validation.AlertStyle = ValidationAlertType.Stop;
validation.ShowError = true;
validation.ShowInput = true;
// Appliquer une validation à la zone
validation.AddArea(area);
// Enregistrez le classeur validé.
workbook.Save("D:\\Files\\validated_with_alerts.xlsx");
Ils alertent améliorent l’utilisabilité et guident clairement les utilisateurs sur ce qu’ils doivent entrer.

Configurer les messages d’entrée et d’erreur dans Excel en utilisant C#
Essayez-le gratuitement
Obtenez une licence temporaire gratuite pour tester toutes les fonctionnalités d’Aspose.Cells for .NET sans aucune limite de fonctionnalités.
Ressources gratuites
Explorez davantage l’automatisation et la validation d’Excel en utilisant ces ressources :
Conclusion
Dans cet article, nous avons montré comment implémenter la validation des données dans Excel en utilisant C# avec Aspose.Cells for .NET. Des menus déroulants aux formules personnalisées, vous pouvez créer des feuilles de calcul intelligentes et à l’épreuve des erreurs sans dépendre d’Excel lui-même.
Si vous avez des questions ou des commentaires, n’hésitez pas à les poster sur notre forum de support gratuit.Nous aimerions vous aider !