Validation personnalisée des données dans Excel : formules et règles

  • Partage Ça
Michael Brown

Ce tutoriel montre comment créer des règles de validation de données personnalisées dans Excel. Vous trouverez quelques exemples d'E Formules de validation de données xcel permettant de n'autoriser que des valeurs numériques ou textuelles dans des cellules spécifiques, ou que du texte commençant par des caractères spécifiques, d'autoriser des données uniques en évitant les doublons, et plus encore.

Dans le tutoriel d'hier, nous avons commencé à examiner la validation des données dans Excel - son objectif, son fonctionnement et la manière d'utiliser les règles intégrées pour valider les données dans vos feuilles de calcul. Aujourd'hui, nous allons aller un peu plus loin et aborder les aspects pratiques de la validation personnalisée des données dans Excel, ainsi que l'expérimentation d'une poignée de formules de validation différentes.

    Comment créer une validation de données personnalisée avec une formule

    Microsoft Excel dispose de plusieurs règles de validation des données intégrées pour les nombres, les dates et le texte, mais elles ne couvrent que les scénarios les plus basiques. Si vous souhaitez valider les cellules avec vos propres critères, créez une règle de validation personnalisée basée sur une formule. Voici comment procéder :

    1. Sélectionnez une ou plusieurs cellules à valider.
    2. Ouvrez la boîte de dialogue Validation des données, en cliquant sur l'onglet "Validation des données". Validation des données sur le bouton Données dans l'onglet Outils de données ou appuyez sur la séquence de touches Alt> ; D> ; L (chaque touche doit être appuyée séparément).
    3. Sur le Paramètres de l'onglet Validation des données sélectionnez Personnalisé dans le Autoriser et saisissez votre formule de validation des données dans le champ Formule boîte.
    4. Cliquez sur OK .

    En option, vous pouvez ajouter un message de saisie personnalisé et une alerte d'erreur qui s'afficheront respectivement lorsque l'utilisateur sélectionne la cellule validée ou saisit des données non valides.

    Vous trouverez ci-dessous quelques exemples de règles de validation personnalisées pour différents types de données.

    Remarque : toutes les règles de validation des données Excel, qu'elles soient intégrées ou personnalisées, ne vérifient que les nouvelles données saisies dans une cellule après la création de la règle. Les données copiées ne sont pas validées, pas plus que les données saisies dans la cellule avant la création de la règle. Pour repérer les entrées existantes qui ne répondent pas à vos critères de validation des données, utilisez la fonction Cercle Données non valides comme indiqué dans la section Comment trouver des données non valides dans Excel.

    Validation des données Excel pour n'autoriser que les chiffres

    Il est surprenant de constater qu'aucune des règles de validation des données intégrées dans Excel ne permet de répondre à une situation très typique, à savoir que les utilisateurs ne peuvent saisir que des nombres dans des cellules spécifiques, ce qui peut être facilement réalisé à l'aide d'une formule de validation des données personnalisée basée sur la fonction ISNUMBER, comme celle-ci :

    =ISNUMBER(C2)

    Où C2 est la cellule la plus haute de la plage que vous voulez valider.

    Remarque : la fonction ISNUMBER permet d'inclure n'importe quelle valeur numérique dans les cellules validées, y compris les nombres entiers, les décimales, les fractions ainsi que les dates et les heures, qui sont également des nombres dans Excel.

    Validation des données Excel pour n'autoriser que le texte

    Si vous cherchez l'inverse, à savoir autoriser uniquement les entrées de texte dans une plage de cellules donnée, créez une règle personnalisée avec la fonction ISTEXT, par exemple :

    =ISTEXT(D2)

    Où D2 est la cellule la plus haute de la plage sélectionnée.

    Autoriser les textes commençant par un ou plusieurs caractères spécifiques

    Si toutes les valeurs d'une certaine plage doivent commencer par un caractère particulier ou une sous-chaîne, effectuez la validation des données Excel sur la base de la fonction COUNTIF avec un caractère générique :

    COUNTIF( cellule ," texte *")

    Par exemple, pour s'assurer que tous les identifiants de commande de la colonne A commencent par le préfixe "AA-", "aa-", "Aa-" ou "aA-" (insensible à la casse), définissez une règle personnalisée avec cette formule de validation des données :

    =COUNTIF(A2, "aa-*")

    Formule de validation avec la logique OR (critères multiples)

    S'il y a 2 ou plusieurs préfixes valides, ajoutez plusieurs fonctions COUNTIF, de sorte que votre règle de validation des données Excel fonctionne avec la logique OR :

    =COUNTIF(A2,"aa-*")+COUNTIF(A2,"bb-*")

    Formule de validation sensible à la casse

    Si la casse des caractères est importante, utilisez EXACT en combinaison avec la fonction LEFT pour créer une formule de validation sensible à la casse pour les entrées commençant par un texte spécifique :

    EXACT(GAUCHE( cellule , nombre_de_chars ), texte )

    Par exemple, pour n'autoriser que les identifiants de commande qui commencent par "AA-" (ni "aa-" ni "Aa-" ne sont autorisés), utilisez cette formule :

    =EXACT(LEFT(A2,3), "AA-")

    Dans la formule ci-dessus, la fonction LEFT extrait les 3 premiers caractères de la cellule A2, et EXACT effectue une comparaison sensible à la casse avec la sous-chaîne codée en dur ("AA-" dans cet exemple). Si les deux sous-chaînes correspondent exactement, la formule renvoie VRAI et la validation est réussie ; sinon, elle renvoie FAUX et la validation échoue.

    Autoriser les entrées contenant un certain texte

    Pour autoriser les entrées qui contiennent du texte spécifique n'importe où dans une cellule (au début, au milieu ou à la fin), utilisez la fonction ISNUMBER en combinaison avec FIND ou SEARCH, selon que vous souhaitez une correspondance sensible à la casse ou non :

    • Validation insensible à la casse : ISNUMBER(SEARCH( texte , cellule ))
    • Validation sensible à la casse : ISNUMBER(FIND( texte , cellule ))

    Sur notre ensemble de données d'exemple, pour autoriser uniquement les entrées contenant le texte "AA" dans les cellules A2:A6, utilisez l'une de ces formules :

    Insensible à la casse :

    =ISNUMBER(SEARCH("AA", A2))

    Sensible à la casse :

    =ISNUMBER(FIND("AA", A2))

    Les formules fonctionnent selon la logique suivante :

    Vous recherchez la sous-chaîne "AA" dans la cellule A2 à l'aide de FIND ou SEARCH, qui renvoient tous deux la position du premier caractère de la sous-chaîne. Si le texte n'est pas trouvé, une erreur est renvoyée. Pour toute valeur numérique renvoyée comme résultat de la recherche, la fonction ISNUMBER renvoie VRAI, et la validation des données est réussie. En cas d'erreur, ISNUMBER renvoie FAUX, et l'entrée n'est pas autorisée dans une cellule.

    Validation des données pour n'autoriser que les entrées uniques et interdire les doublons.

    Dans les situations où une certaine colonne ou une plage de cellules ne doit pas contenir de doublons, configurez une règle de validation des données personnalisée pour n'autoriser que les entrées uniques. Pour cela, nous allons utiliser la formule COUNTIF classique pour identifier les doublons :

    =COUNTIF( gamme , cellule supérieure )<=1

    Par exemple, pour vous assurer que seuls des identifiants de commande uniques sont saisis dans les cellules A2 à A6, créez une règle personnalisée avec cette formule de validation des données :

    =COUNTIF($A$2:$A$6, A2)<=1

    Si la même valeur existe déjà dans la plage spécifiée (nombre supérieur à 1), la formule COUNTIF renvoie FALSE et la validation de l'entrée échoue.

    Veuillez noter que nous verrouillons la plage avec des références de cellule absolues (A$2:$A$6) et que nous utilisons une référence relative pour la cellule supérieure (A2) afin que la formule s'ajuste correctement pour chaque cellule de la plage validée.

    Remarque : cette formule de validation des données est insensible à la casse il ne fait pas la distinction entre les majuscules et les minuscules.

    Formules de validation pour les dates et les heures

    La validation de date intégrée fournit un grand nombre de critères prédéfinis pour limiter les utilisateurs à la saisie de dates comprises entre les deux dates que vous spécifiez, supérieures, inférieures ou égales à une date donnée.

    Si vous souhaitez contrôler davantage la validation des données dans vos feuilles de calcul, vous pouvez reproduire la fonctionnalité intégrée avec une règle personnalisée ou écrire votre propre formule qui va au-delà des capacités intégrées de la validation des données d'Excel.

    Autoriser les dates entre deux dates

    Pour limiter l'entrée à une date comprise dans une plage spécifiée, vous pouvez utiliser la règle de date prédéfinie avec le critère "entre" ou créer une règle de validation personnalisée avec cette formule générique :

    ET( cellule >= date de début ), cellule <= date de fin )

    Où :

    • cellule est la cellule la plus haute de la plage validée, et
    • commencer et fin Les dates sont des dates valides fournies par la fonction DATE ou des références à des cellules contenant les dates.

    Par exemple, pour autoriser uniquement les dates du mois de juillet de l'année 2017, utilisez la formule suivante :

    =AND(C2>=DATE(2017,7,1),C2<=DATE(2017,7,31))

    Ou bien, saisissez la date de début et la date de fin dans certaines cellules (F1 et F2 dans cet exemple), et faites référence à ces cellules dans votre formule :

    =AND(C2>=$F$1, C2<=$F$2)

    Veuillez noter que les dates limites sont verrouillées avec des références de cellules absolues.

    Autoriser les jours de semaine ou les week-ends uniquement

    Pour empêcher un utilisateur de saisir uniquement les jours de la semaine ou les week-ends, configurez une règle de validation personnalisée basée sur la fonction WEEKDAY.

    Avec le Type de retour Avec l'argument 2, WEEKDAY renvoie un nombre entier allant de 1 (lundi) à 7 (dimanche). Ainsi, pour les jours de la semaine (lun à ven), le résultat de la formule devrait être inférieur à 6, et pour les week-ends (sam et dim) supérieur à 5.

    N'autoriser que jours ouvrables :

    JOUR DE LA SEMAINE( cellule ,2)<6

    N'autoriser que week-ends :

    JOUR DE LA SEMAINE( cellule ,2)>5

    Par exemple, pour permettre de saisir uniquement les jours ouvrables dans les cellules C2:C6, utilisez cette formule :

    =JOUR DE SEMAINE(C2,2)<6

    Valider les dates en fonction de la date du jour

    Pour obtenir la date du jour, utilisez la fonction TODAY, puis ajoutez-y le nombre de jours souhaité pour calculer la date de fin.

    Par exemple, pour limiter la saisie de données à 6 jours à partir de maintenant (7 jours y compris aujourd'hui), nous allons utiliser la règle de date intégrée avec les critères basés sur une formule :

    1. Sélectionnez Date dans le Autoriser
    2. Sélectionnez entre dans le Données
    3. Dans le Date de début saisissez =TODAY()
    4. Dans le Date de fin saisissez =JOUR() + 6

    De la même manière, vous pouvez limiter les utilisateurs à la saisie de dates antérieures ou postérieures à la date du jour, en sélectionnant soit moins de ou plus que dans le Données puis saisissez =TODAY() dans le Fin date ou Début la boîte de date, respectivement.

    Valider les heures en fonction de l'heure actuelle

    Pour valider des données sur la base de l'heure actuelle, utilisez la règle prédéfinie Time avec votre propre formule de validation des données :

    1. Dans le Autoriser sélectionnez Temps .
    2. Dans le Données choisissez soit moins de pour n'autoriser que les heures antérieures à l'heure actuelle, ou plus que pour autoriser les temps après l'heure actuelle.
    3. Dans le Heure de fin ou Heure de début (en fonction des critères que vous avez sélectionnés à l'étape précédente), saisissez l'une des formules suivantes :
      • Pour valider dates et heures en fonction de la date et de l'heure actuelles :

        =NOW()

      • Pour valider temps en fonction de l'heure actuelle :

        =TIME( HOUR(NOW()), MINUTE(NOW()), SECOND(NOW()))

    La capture d'écran ci-dessous montre une règle qui n'autorise que les heures supérieures à l'heure actuelle :

    La règle de validation des données d'Excel personnalisée ne fonctionne pas

    Si votre règle de validation des données basée sur une formule ne fonctionne pas comme prévu, il y a trois points principaux à vérifier :

    • La formule de validation des données est correcte
    • La formule de validation ne fait pas référence à une cellule vide
    • Les références de cellule appropriées sont utilisées

    Vérifier l'exactitude de votre formule de validation des données Excel

    Pour commencer, copiez votre formule de validation dans une cellule quelconque pour vous assurer qu'elle ne renvoie pas une erreur telle que #N/A, #VALUE ou #DIV/0 !

    Si vous créez un règle coutumière la formule doit renvoyer les valeurs logiques VRAI et FAUX ou les valeurs 1 et 0 qui leur correspondent, respectivement.

    Si vous utilisez un critère basé sur une formule dans un règle interne (comme nous l'avons fait pour valider les heures sur la base de l'heure actuelle), il peut également renvoyer une autre valeur numérique.

    La formule de validation des données d'Excel ne doit pas faire référence à une cellule vide.

    Dans de nombreuses situations, si vous sélectionnez le Ignorer le blanc lors de la définition de la règle (généralement sélectionnée par défaut) et qu'une ou plusieurs cellules référencées dans votre formule sont vides, toute valeur sera autorisée dans la cellule validée.

    Voici un exemple dans sa forme la plus simple :

    Références de cellules absolues et relatives dans les formules de validation des données

    Lorsque vous configurez une règle de validation Excel basée sur une formule, gardez à l'esprit que toutes les références de cellule dans votre formule sont par rapport à la cellule supérieure gauche dans la gamme sélectionnée.

    Si vous créez une règle pour plus d'une cellule et que vos critères de validation dépendent des éléments suivants cellules spécifiques Veillez à utiliser des références de cellule absolues (avec le signe $, comme $A$1), sinon votre règle ne fonctionnera correctement que pour la première cellule. Pour mieux illustrer ce point, prenez l'exemple suivant.

    Supposons que vous souhaitiez limiter la saisie de données dans les cellules D2 à D5 aux nombres entiers compris entre 1 (valeur minimale) et le résultat de la division de A2 par B2. Vous calculez donc la valeur maximale à l'aide de cette formule simple =A2/B2 comme indiqué dans la capture d'écran ci-dessous :

    Le problème est que cette formule apparemment correcte ne fonctionnera pas pour les cellules D3 à D5, car les références relatives changent en fonction de la position relative des lignes et des colonnes. Ainsi, pour la cellule D3, la formule se transformera en =A3/B3 et pour D4, il deviendra =A4/B4 en faisant la validation des données de manière erronée !

    Pour corriger la formule, il suffit de taper "$" devant les références de colonne et de ligne pour les verrouiller : =$A$2/$B$2 Ou bien, appuyez sur F4 pour basculer entre les différents types de référence.

    Lorsque vous souhaitez valider chaque cellule en fonction de ses propres critères, utilisez des références de cellules relatives sans le signe $ pour que la formule s'adapte à chaque ligne et/ou colonne :

    Comme vous le voyez, il n'y a pas de "vérité absolue", la même formule peut être bonne ou mauvaise selon la situation et votre tâche particulière.

    Voici comment utiliser la validation des données dans Excel avec vos propres formules. Pour mieux comprendre, n'hésitez pas à télécharger notre exemple de classeur ci-dessous et à examiner les paramètres des règles. Je vous remercie de votre lecture et j'espère vous voir sur notre blog la semaine prochaine !

    Cahier d'exercices à télécharger

    Exemples de validation de données Excel (fichier .xlsx)

    Michael Brown est un passionné de technologie passionné par la simplification de processus complexes à l'aide d'outils logiciels. Avec plus d'une décennie d'expérience dans l'industrie de la technologie, il a perfectionné ses compétences dans Microsoft Excel et Outlook, ainsi que dans Google Sheets et Docs. Le blog de Michael est dédié au partage de ses connaissances et de son expertise avec les autres, en fournissant des conseils et des tutoriels faciles à suivre pour améliorer la productivité et l'efficacité. Que vous soyez un professionnel chevronné ou un débutant, le blog de Michael offre des informations précieuses et des conseils pratiques pour tirer le meilleur parti de ces outils logiciels essentiels.