Blair a une feuille de travail divisée en deux zones: la saisie des données et la vérification des données. La zone de vérification des données se compose de formules qui vérifient les entrées à l’aide d’instructions IF. Si un problème est détecté, un message texte s’affiche dans une cellule de la zone de vérification, sinon la formule renvoie un blanc. Voici une formule de vérification typique:

=IF(A1<>5,"Value in A1 is not 5")

Le problème est que la zone de vérification des données peut être assez grande, ce qui signifie qu’il est facile de rater l’un des messages texte. Blair s’est demandé s’il y avait un moyen de créer une formule qui examinait la zone de vérification des données et renvoyait un seul message s’il y avait d’autres messages dans la zone.

Il existe plusieurs manières d’aborder ce problème. Si la zone de vérification des données est contiguë, une simple formule matricielle fera l’affaire. Entrez ce qui suit dans n’importe quelle cellule vide de la feuille de calcul:

=SUM((LEN(ValRange)>0)*1)

Assurez-vous que ValRange est remplacé par la plage de cellules dans la zone de validation des données. Assurez-vous également de saisir la formule en appuyant sur Maj + Ctrl + Entrée (pour indiquer qu’il s’agit d’une formule matricielle). La formule renvoie une valeur qui indique combien de cellules de la plage ont une longueur supérieure à 0. En d’autres termes, elle compte le nombre de cellules dont les messages sont visibles.

Si vous préférez ne pas utiliser de formule matricielle, vous pouvez obtenir le même résultat en utilisant la formule régulière suivante:

=SUMPRODUCT((LEN(ValRange)>0)*1)

Le résultat, encore une fois, est le nombre de cellules qui ont une longueur supérieure à 0. Une autre approche consiste à utiliser certaines des fonctions COUNT fournies par Excel:

=COUNTA(ValRange) - COUNTBLANK(ValRange)

Cette formule compte le nombre de cellules de la plage, puis soustrait le nombre de cellules vides de la plage. Le résultat est le nombre de cellules non vides ou celles qui affichent des messages. Une approche formule différente peut être utilisée pour déterminer une réponse simple oui / non:

=IF(COUNTIF(ValRange,"?*"),"","No ") & "Verification Messages"

S’il n’y a aucun message dans ValRange, la formule renvoie «Aucun message de vérification». S’il y a des messages, il supprime le «Non» et renvoie simplement «Messages de vérification».

Il serait également judicieux d’appliquer une mise en forme conditionnelle à votre zone de vérification des données. Bien que les formules discutées jusqu’à présent vous indiquent s’il y a des messages, elles ne mettront pas en évidence leur emplacement – le formatage conditionnel peut identifier chaque message. Sélectionnez toutes les cellules de la zone contenant des formules, puis utilisez la mise en forme conditionnelle pour vérifier la longueur de ces cellules. Si la longueur est supérieure à 0, la cellule peut être formatée pour afficher un arrière-plan rouge. Cela rendra les messages de la zone de vérification des données beaucoup plus difficiles à manquer lors du défilement dans la feuille de calcul.

Si vous êtes d’humeur à refondre complètement votre feuille de calcul, une approche plus puissante serait de supprimer la zone de vérification des données.

Vous pouvez obtenir les mêmes résultats (vérifier ce qui se trouve dans la zone de saisie de données) en utilisant la validation des données pour chacune des cellules d’entrée. Configurée correctement, la validation des données garantirait que l’utilisateur entre des valeurs acceptables dans chaque cellule, supprimant ainsi le besoin d’une grande partie de la zone de validation des données.

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (2772) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.