La validation de données permet de concevoir des zones de saisie spécifiques pour certaines zones dune feuille dExcel. Dans lexemple 1, la liste est paramétrée de manière à utiliser les données écritedans les cellules B4 à B10. L’utilisateur pourra donc choisir loption qui l’intéresse en cliquant sur la donnée voulue. Cette solution est la manière la plus basique qui soit de concevoir une liste de données.

Exemple 1Exemple 1Bis
Exemple 1.

Mais que se passe-t-il, si une ou plusieurs données sont ajoutés à la liste des services ? Dans l’exemple ci-contre, on s’aperçoit que deux nouveaux services (CONTRÔLE QUALITE et RECTIFICATION) ont été ajoutés. Ces nouvelles données ne seront pas prises en compte comme l’illustre l’exemple 2.  Afin que ces dernières le soient automatiquement, il est nécessaire et presque impératif d’utiliser l’association de deux fonctions et de la placer dans la zone Source (voir exemple 1) de la fenêtre Validation de données.

Exemple 2
Exemple 2. Dans lexemple ci-contre, on saperçoit que deux
nouveaux services (CONTRÔLE QUALITEet RECTIFICATION)
ont été ajoutés, mais que ces derniers ne sont pas intégrés
dans la liste de saisie.


DECALER & NBVAL

Je commencerai par l’explication de la fonction la plus simple, à savoir NBVAL. Cette dernière a pour but de comptabiliser le nombre de cellules, dans une sélection, remplies par une donnée numérique ou alphanumérique (Voir exemple 3).

Exemple 3
Exemple 3. Dans cet exemple, la fonction NBVAL comptabilisées
cellules non-vides


Sa syntaxe de mise en œuvre est la suivante :

=NBVAL ( Sélection)

La fonction DECALER quant à elle, permet d’obtenir les coordonnées d’une plage de cellules. L'intérêt de cette fonction est dans la possibilité de faire varier ses paramètres (Voir syntaxe), en fonction des valeurs contenues dans les cellules.

Sa syntaxe de mise en oeuvre est la suivante :

=DECALER ( Plage de départ; Décalage Lignes; Décalage Colonnes; [ Nbr de lignes] ; [ Nbr de colonnes] )

Plage de départ
Plage qui sert d'ancrage à la plage renvoyée par la fonction. Toute plage valide est acceptée en argument. Il s’agit de la référence d’une cellule.

DecalageLignes
Nombre de lignes à parcourir à partir du coin supérieur gauche de Plagede départ. Ce nombre est positif lorsque l'on parcourt la feuille vers le bas, négatif lorsque l'on souhaite parcourir la feuille vers le haut. Il s’agit donc d’un décalage absolu en ligne à partir de Plage de départ.

DecalageColonnes
Nombre de colonnes à parcourir à partir du coin supérieur gauche de Plage de départ. Ce nombre est positif lorsque l'on parcourt la feuille de gauche à droite, et négatif lorsque l'on parcourt la feuille de droite à gauche. Il s’agit donc d’un décalage absolu en colonne à partir de Plage de départ.


NombreLignes
Nombre de lignes de la plage renvoyée par la fonction. Ce nombre est obligatoirement positif non nul. Il s’agit donc  d’un décalage relatif en ligne à partir de Plage de départ.

Nombrede colonnes
Nombre de colonnes de la plage renvoyée par la fonction. Ce nombre est obligatoirement positif non nul. Il s’agit donc  d’un décalage relatif en colonne à partir de Plage de départ.

Donc, si l’on utilise la fonction DECALER avec les paramètres suivants:

=DECALER ( B4 ; 0 ; 0 ; 9 ; 1)

La liste contiendra toutes les données de la zone Liste des services comme le montre l’exemple 4 ci-dessous.

Exemple 4Exemple 4Bis
Exemple 4.

Cela ne suffira toujours pas, si des nouvelles données sont ajoutées à la liste des services. Et la fonction NBVAL dans tout cela ? Il suffira de trouver le moyen de spécifier à Excel de parcourir autant de lignes qu'il y a de cellules remplies dans la colonne B, moins une ligne pour le titre.

En effet, l’écriture 

=NBVAL ( B : B )

saisidans une cellule renverra la nombre de cellules remplies dans la colonne B. (Voir exemple 5).

Exemple 5
Exemple 5.

La fonction NBVAL intégrée dans la fonction DECALER (Exemple 6).


=DECALER( B4 ; 0 ; 0 ; NBVAL ( B : B ) -1 ; 1 )

Exemple 6Exemple 6Bis
Exemple 6.