Règles de validation intercellulaires
Glissez pour afficher le menu
Qu'est-ce que les règles intercellulaires ?
Chaque règle de validation que vous avez écrite jusqu'à présent vérifiait la valeur d'une seule cellule par rapport à une condition fixe — une plage de nombres, une liste, un motif de texte. La validation intercellulaire va plus loin : elle vérifie la valeur saisie par rapport à une autre cellule de la même ligne.
Comment Excel gère les références intercellulaires
Lorsque vous écrivez une formule de validation personnalisée pour une cellule de la ligne 2, vous pouvez librement référencer toute autre cellule de cette même ligne. Excel ajuste automatiquement les références à mesure que la règle s'applique vers le bas de la colonne — comme pour une formule classique.
Exemple 1 : La date de fin doit être postérieure à la date de début
Il s'agit de la règle intercellulaire la plus courante. Une date de fin saisie avant la date de début constitue une erreur logique qu'aucune règle intégrée ne peut détecter — mais une formule personnalisée la gère parfaitement.
Ainsi, si votre validation sur la colonne L (End Date) fait référence à la colonne K (Start Date) :
=L2>K2
Excel évalue automatiquement L3>K3, L4>K4, et ainsi de suite pour chaque cellule validée en dessous. Si la End Date est antérieure ou égale à la Start Date, la saisie est rejetée.
Exemple 2 : Remise conditionnée à une quantité minimale
Une remise ne doit être appliquée que lorsque la quantité commandée le justifie. En supposant que Quantity se trouve en colonne H et Discount % en colonne J :
=IF(J2>0, H2>=3, TRUE)
Cela signifie : si une remise est saisie, la quantité doit être au moins de 3 — sinon, toujours accepter.
Le TRUE à la fin est important — il garantit que les lignes avec une remise à zéro passent sans contrôle de quantité.
Exemple 2 : Le prix unitaire doit correspondre à la catégorie
Les produits technologiques ne doivent jamais être vendus en dessous de 500. Les produits de bureau n'ont pas cette restriction. En supposant que Category se trouve en colonne D et Unit Price en colonne I :
=IF(D2="Tech", I2>=500, TRUE)
Cela signifie : si la catégorie est Tech, appliquer le prix minimum — sinon, accepter tout prix.
Création de règles intercellulaires en toute sécurité
Quelques points à garder à l'esprit :
- Toujours ancrer la bonne colonne — utiliser des références de ligne relative (
H2, et non$H$2) afin que la formule s'ajuste correctement en descendant la colonne ; - Prendre en compte les cellules vides — si une cellule référencée peut être vide, encapsuler la formule dans un
IFou utiliserIFERRORpour éviter des refus inattendus ; - Tester avec des cas limites — dates identiques, quantités nulles, champs vides — ce sont les situations où les règles intercellulaires échouent le plus souvent.
Exercice
-
Appliquer une validation intercellulaire à la colonne End Date :
- Formule :
=L2>K2 - Style d’erreur : Arrêt
- Message d’erreur : "End Date must be after Start Date"
- Formule :
-
Appliquer une validation intercellulaire à la colonne Discount % :
- Formule :
=IF(J2>0, H2>=3, TRUE) - Style d’erreur : Avertissement
- Message d’erreur : "Discount should only be applied for quantities of 3 or more"
- Formule :
-
Appliquer une validation intercellulaire à la colonne Unit Price :
- Formule :
=IF(D2="Tech", I2>=500, TRUE) - Style d’erreur : Arrêt
- Message d’erreur : "Tech products must be priced at 500 or above"
- Formule :
-
Appliquer une validation intercellulaire à la colonne Start Date :
- Formule :
=K2>=B2 - Style d’erreur : Arrêt
- Message d’erreur : "Start Date cannot be before Order Date"
- Formule :
-
Tester chaque règle en saisissant volontairement des valeurs contradictoires entre les colonnes — vérifier que les quatre règles se déclenchent correctement ;
-
Tester avec des cellules vides dans les colonnes référencées — noter tout comportement inattendu et réfléchir à la manière de le gérer.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion