Aller au contenu principal


Les tableaux structurés

Un tableau MsExcel  (anciennement appelé liste Excel) est une structure facilitant la gestion, l’analyse et le tri des données figurant dans ce tableau.

Un exemple d'utilisation des tableaux structurés est présenté  dans le billet "les filtres avancés".

Pour transformer une plage de cellules en tableau et pour une meilleure ergonomie, il est préférable que toutes les colonnes  de la plage à transformer comportent une en-tête  car ces en-têtes servent :

  •  pour les filtres générés automatiquement lors de la transformation de la plage en tableau ;

  • pour référencer  :

    • les cellules du tableau  (ex : @Vendeurs) ;

    • les plages de données formées par les colonnes du tableau généré (ex : [Vendeurs]).

       

Dernière MAJ :
30 Sep 2024
Billet créé le :
10 Sep 2024

Transformer une plage en un tableau :

L'image ci-dessous montre les étapes à suivre pour créer un tableau à partir d'une plage de cellules.

  1. Dans le menu "Insertion", je clique sur l’icône "Tableau"  ;

  2. Dans la boîte de dialogue "Créer un tableau" qui s'est présentée j'indique (ou je sélectionne) la plage. Je coche car toutes les "colonnes" de ma plage comportent un entête ;

  3. Je nomme "T_CA" le tableau créé.
     

Cliquer pour agrandir l'image

En 4, on observe dans le tableau T_CA produit que :

  • chaque colonne dispose d'un filtre  ;

  • une Mise en Forme Conditionnelle est appliquée pour différencier chacune des lignes du tableau.

De plus, des références supplémentaires sont disponibles pour repérer les données  :

  • [CA2020] : la plage des données formant la colonne d'entête "CA2020" (D9:D17sur l'image)

  • [@CA2020]  : à partir de n’importe quelle cellule d’une ligne, j' accède à la valeur de la cellule à l'intersection de la colonne d'entête « CA2020 » et de cette ligne ;

  • [#Données] : toutes les cellules de données du tableau (B9:E17  sur l'image) ;

  • [#Tout] : toutes les cellules du tableau (B8:E17  sur l'image) ;

  • [#En-Tête] : toutes les cellules de la ligne d'entête (B8:E8 sur l'image) ;

  • [#Totaux] : les cellules de la ligne "total" lorsque cette ligne existe (case "ligne Total" cochée dans l'onglet "Création de tableau" ; C18:F18 de l'image du paragraphe "les références structurées).

     

L'ajout, l'insertion ou la suppression d'une ligne dans le tableau est prise en compte automatiquement.
Il n'est donc pas nécessaire de modifier les formules utilisées dès lors qu'elles utilisent les références structurées.

Les références structurées :

Cliquer pour agrandir l'image

L'image ci-dessus montre le contenu de l'onglet "Création de tableau" et ses cases à cocher permettant de styliser la présentation. 
En F9  ligne 9 de la colonne "CA Moyen"),  j'ai saisi la formule "=MOYENNE([@CA2019]:[@CA2021])" (cf cadre 1) qui rend le chiffre d'affaire moyen réalisé par "Alain" pour les années 2019 à 2021. 
Comme cette formule utilise les références structurées, elle figurera automatiquement, en colonne F,  pour toutes les autres lignes (présentes et futures) du tableau structuré :

  • pour la ligne 9, cette formule équivaut à  "=MOYENNE(C9:E9)"  ;

  • pour la ligne 10, cette formule équivaut à  "=MOYENNE(C10:E10)"  ;

  • ainsi de suite pour toutes les lignes présentes et futures du tableau.

Placée dans une cellule quelconque du classeur, la formule  :

  • =NBVAL(T_CA[CA2020]) rendra le nombre de cellules non vides de la partie données de la colonne d'en-tête "CA2020" soit 9 (encadrées en jaune dans l'image ci-dessous) ;

  • =NBVAL(T_CA[#En-Tête]) rendra le nombre de cellules non vides de la ligne des en-têtes du tableau  soit 5 (encadrées en rouge dans l'image ci-dessous) ;

  • =NBVAL(T_CA) rendra le nombre de cellules non vides de la partie "données" du tableau  "T_CA" soit 45 (ie : 9 x5) (encadrées en vert dans l'image ci-dessous) ;

  • =NBVAL(T_CA[#Tout]) rendra le nombre de cellules non vides du tableau  "T_CA" soit 52 (ie : 45 +5 +2) : le nombre de données + le nombre de colonnes + les 2 cellules de la ligne "Total"  (encadrées en noir dans l'image ci-dessous) ;

  • =NBVAL(T_CA[#Totaux]) rendra le nombre de cellules non vides de la ligne "total" (si cochée) du tableau  "T_CA" soit 1.

 

Cliquer pour agrandir l'image

Par exemple, la formule =SOMME(T_CA[CA Moyen]), ,  rendra la somme des valeurs des 9 cellules de la colonne d'en-tête  "CA Moyen", soit 1450. 
Notez que : 

  1. la formule doit être écrite dans une cellule quelconque du classeur mais hors du tableau  pour éviter les référence croisées ;
  2. cette somme peut être obtenue automatiquement en cochant la case "ligne Total" comme indiqué dans le chapitre précédent.

 

 

Comme il est suggéré dans l'image, lorsqu'il est convenablement placé, le pointeur de la souris change de forme pour permettre, par un simple clic,  la sélection rapide   :
  • de la totalité du tableau  (flèche oblique) ;
  • des données d'une colonne (flèche vers le bas) :
  • des données d'une ligne (flèche vers la droite).
Comme le montre  l'image jointe, lors de la saisie d'une fonction, l'assistant présente les différentes références de plages disponibles.
Cliquez pour agrandir l'image
 

Références structurées et listes de validité

Placer les données devant apparaître dans une liste de validité dans un tableau structuré permet la gestion dynamique de cette liste. En effet, l'ajout, la suppression ou l'insertion d'une donnée (c'est à dire d'une ligne du tableau) sera prise en compte automatiquement.

La seule difficulté réside dans l'expression de la référence de la source de données.

Supposons que nos données figurent dans la colonne "Vendeurs" d'un tableau structuré nommé "T_Ventes". La référence à utiliser, pour notre liste de validité, est donc : T_Ventes[Vendeurs].
Lorsque nous écrivons =T_Ventes[Vendeurs] dans le champ" source de données" de la boite de dialogue "validation de données",   Excel renvoie, actuellement, une erreur.

Pour palier à cette erreur, nous devons, comme le montre l'image ci-dessous, soit :

  1. utiliser le nom créé à l'aide du gestionnaire de nom, par exemple "lesVendeurs" pour la référence  T_Ventes[Vendeurs] ;

  2. utiliser la fonction "INDIRECT" qui rend la référence spécifiée par une chaîne de caractères : dans notre cas =INDIRECT("T_Ventes[Vendeurs]")  ;

Dans cet exemple, lorsque nous ajoutons ou retirons un vendeur dans le tableau, notre liste déroulante est automatiquement mise à jour.

Cliquez pour agrandir l'image