IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Apprendre à utiliser les tableaux structurés d'Excel : création, manipulations et avantages,
Un tutoriel de Pierre Fauconnier

Le , par Pierre Fauconnier

43PARTAGES

19  0 
Salut.

Je vous propose mon nouveau tutoriel: Les tableaux structurés Excel.

Tout savoir sur la création, la manipulation et les avantages des tableaux structurés Excel, aussi appelés tables de données.

Les tableaux structurés vous aident à gérer et analyser vos données de façon sûre, simple et pérenne.

Apparues très timidement dans la version 2003, les listes de données permettaient à une plage de saisie de s’agrandir dès l’ajout de nouvelles données. L’accès à l’outil était caché dans un sous-menu et, de ce fait, les listes étaient peu connues et donc peu utilisées. La version 2007 a mis au jour cet outil dans une version rafraîchie quoiqu’un peu verbeuse, mais l’apparition des tableaux structurés justifiait à elle seule le passage à cette nouvelle version. L’engouement des utilisateurs fut cependant unanime et la version 2010 exposa un outil mature et efficace. L’outil acquérait de nouvelles fonctionnalités en 2013 et 2016 et il est aujourd’hui un élément incontournable d’une utilisation professionnelle d’Excel.

Dans ce premier tutoriel, vous vous familiariserez avec la création et la manipulation des tableaux structurés dans l’environnement Excel.
Critiques et remarques bienvenues, dans l'esprit constructif de DVP...

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de 78chris
Expert éminent sénior https://www.developpez.com
Le 23/12/2018 à 14:21
Bonjour

Très beau boulot et chouette cadeau de Noël .

Bien qu'utilisant et vantant quotidiennement les tableaux structurés, j'y ai même découvert 2 choses !

Juste 3 infos qui pourraient être ajoutées (à moins que ma lecture n'ait pas été assez attentive)
  • Quand la cellule active est dans un grand tableau dont le haut n'est pas affiché, l'en-tête de celui-ci remplace les lettres des colonnes à l'affichage, ce qui évite de figer inutilement la ligne supérieure via les volets
  • Si on paramètre les formules de la ligne de total, si on désactive celle-ci, les formules sont conservées et réapparaissent quand on réactive (sans doute la même logique que celle décrite pour modéliser un tableau).
  • Les outils comme PowerPivot et PowerQuery ne fonctionnent correctement que si les données traitées issues du classeur sont sous forme de tableau et non de plage.
3  0 
Avatar de Pierre Fauconnier
Responsable Office & Excel https://www.developpez.com
Le 27/12/2018 à 16:40
Salut.

Merci pour ces appréciations... Toujours intéressant de savoir que l'on n'a pas bossé pour rien

@ Chris et Philippe... J'ai mis à jour suite à vos suggestions (Au passage, merci pour ce regard aiguisé et ces pistes d'amélioration):
  • V-H: J'ai complété les avantages TCD pour étendre à PowerPivot et PowerQuery.
  • V-I: J'ai ajouté le bénéfice des formules mémorisées pour la ligne de total.
  • V-K: J'ai ajouté une note sur l'affichage permanent de la ligne d'entête.
  • VI: J'ai ajouté les raccourcis CTRL++ et CTRL+-.
  • VII-C-2-b: J'ai ajouté une note sur la possibilité d'utiliser INDIRECT.


@Curt: Problème résolu. Le pdf peut être téléchargé... (Arf... J'ai vu que tu avais vu )

@Ronan: Peux-tu me renvoyer les liens des discussions par MP? Si autre souci, n'hésite pas à poster une nouvelle discussion sur le forum...

@Berapard: Le second opus est pratiquement terminé, et les autres suivent. Surveille les annonces sur le portail Excel pour les prochaines publications... .

L'explorateur d'objet (F2 dans le VBE) te renseignera sur le fait qu'il n'y a pas d'évènements associés à un tableau structuré (ListObject en VBA) en tant que tel (voir copie d'écran ci-dessous).



Par contre, en primeur sur des bouts de codes (snipets) qui seront donnés dans le deuxième tuto sur les tableaux structurés en VBA, voici deux codes pour tester qu'une cellule, et donc éventuellement la cellule active, fait partie d'un TCD et si oui, lequel.

Fonction qui reçoit une plage en argument et qui retourne le nom du tableau structuré dont elle fait partie ou une chaine vide si elle est hors tableau. Si une plage multi cellules est passée, il suffit qu'une cellule de ladite plage soit dans le tableau pour que le nom du tableau soit renvoyé
Code : Sélectionner tout
1
2
3
Function getTableNameFromRange(Rng As Range) As String
  If Not Rng.ListObject Is Nothing Then getTableNameFromRange = Rng.ListObject.Name
End Function
On peut l'utiliser par exemple comme ceci:
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
Sub TestIntersectCellTable()
  Dim Name As String
  
  Name = getTableNameFromRange(ActiveCell)
  If Name = "" Then
    MsgBox "La cellule active n'est pas dans un tableau structuré"
  Else
    MsgBox "La cellule active fait partie du tableau " & Name
  End If
End Sub


Si on veut tester que toute la plage en argument fait partie du tableau, on peut utiliser la fonction suivante:
Code : Sélectionner tout
1
2
3
4
5
6
Function getTableNameFromWholeRange(Rng As Range) As String
  If Not Rng.ListObject Is Nothing Then
    If Intersect(Rng, Rng.ListObject.Range).Cells.Count = Rng.Count Then _
      getTableNameFromWholeRange = Rng.ListObject.Name
  End If
End Function


On pourrait, sur le même principe, renvoyer le tableau plutôt que son nom. Dans ce cas, la fonction renvoie Nothing si le tableau n'inclut pas la cellule/plage sélectionnée
Code : Sélectionner tout
1
2
3
4
5
6
Function getTableFromWholeRange(Rng As Range) As ListObject
  If Not Rng.ListObject Is Nothing Then
    If Intersect(Rng, Rng.ListObject.Range).Cells.Count = Rng.Count Then _
      Set getTableFromWholeRange = Rng.ListObject
  End If
End Function
A bientôt pour la suite
3  0 
Avatar de Pierre Dumas
Membre émérite https://www.developpez.com
Le 20/05/2019 à 14:27
Bonjour Pierre

Je viens seulement de découvrir ce tutoriel (mieux vaut tard que jamais).
Je suis d'accord avec l'ensemble de ce qui a été écrit. Notamment avec "leur utilisation devienne un réflexe, tant il me semble aberrant, à l’heure actuelle, de rencontrer encore autant d’utilisateurs qui ne les connaissent pas ou qui les utilisent mal".

Si je puis me permettre, il faudrait mentionner dans le point "IV-C-1-a. Insérer" qu'il peut y avoir ajout de ligne entière dans le cas où un filtre est en cours sur le tableau structuré. Et cela peut avoir donc des conséquences sur le reste de la feuille.
Ceci étant, on est bien d'accord, il ne devrait rien y avoir à côté d'un tableau structuré

On pourrait aussi ajouter dans les avantages le fait de pouvoir déplacer les colonnes du tableau et uniquement cette(es) colonne(s). Il suffit de sélectionner la colonne entière du tableau par la petite flèche noire (par deux clics consécutifs et non un double-clic ) puis de glisser la colonne. L'inconvénient est que la largeur des colonnes n'est pas prise en compte.

Belle journée à chacun d'entre vous

Pierre
3  0 
Avatar de Philippe Tulliez
Rédacteur https://www.developpez.com
Le 23/12/2018 à 16:27
Bonjour Pierre,
C'est toujours un plaisir de prendre connaissance d'un de tes tutoriels
Malgré ma bonne connaissance des tableaux structurés j'ai tout de même appris et découvert certains aspects de ceux-ci comme par exemple la sélection des données lors de l'apparition de la flèche noire et bien entendu le second clic permettant de sélectionner tout le tableau.

Je déplore également le fait que l'on ne puisse pas protéger les formules dans un tableau structuré

Pour la prochaine version de ton tutoriel, deux petites suggestions
  • Chapitre VI - (Raccourcis clavier) Ctrl & + pour ajouter une ligne (ou colonne si l'on sélectionne plus d'une cellule en colonne) et Ctrl & - pour la suppression
  • Chapitre VII -, Si on ne peut effectivement pas utiliser les références structurées dans les outils Mise en forme conditionnelle, validation de données, etc. on peut en revanche les référencer à l'aide de la fonction INDIRECT qui je le conçois bien est à utiliser avec parcimonie puisque c'est une fonction volatile et personnellement je préfère nommer une nouvelle plage qui fait référence à une référence structurée.
    Exemple avec une formule dans la mise en forme conditionnelle
    Code : Sélectionner tout
    =NB.SI(INDIRECT("T_Stock[Ref]");A2)>1


Encore bravo pour ce tutoriel et vivement la suite.
2  0 
Avatar de curt
Membre émérite https://www.developpez.com
Le 23/12/2018 à 16:53
Bonjour Pierre,

Je ne peux plus me passer de ces tableaux.
Il ne me manquait plus qu'un tutoriel…. Merci pour ce cadeau.
ça me fera un argument de poids pour tenter de convaincre mes collègues TOTALEMENT REFRACAIRES à ces tableaux au motif…. que comme il font ça fonctionne très bien et ce depuis longtemps.

Excellentes fêtes de fin d'année à tous.
Curt
2  0 
Avatar de berapard
Membre régulier https://www.developpez.com
Le 26/12/2018 à 10:43
Superbe travail de synthèse.
Les autres tutos annoncés sont-ils dispos ou quand le seront-ils ?
Je suis pour ma part très intéressé par la manipulation des tableaux en VBA : event, test si cellule active dans un tableau ....

Encore bravo & belles fêtes
2  0 
Avatar de Malick
Community Manager https://www.developpez.com
Le 27/12/2018 à 16:47
Salut,

Excellent tutoriel qui va servir à plus d'un

Merci encore
2  0 
Avatar de WuKoDLaK
Membre régulier https://www.developpez.com
Le 23/12/2018 à 22:12
bonjour Pierre,

je vais également en prendre compte.

j'ai fait beaucoup de recherches ces derniers temps à propos de ces tableaux mais principalement le côté VBA de l'usage.

Avec des usages tels que [t_bdd] / listObjects("t_bdd" qui diffèrent en écriture, mais il est difficile de déterminer les avantages inconvénients de chacun.

Également ma topic de l'autre fois à propos du comment définir la position relative/absolue des éléments dans une feuille.

A très vite.
Ronan
1  0 
Avatar de mle007
Membre à l'essai https://www.developpez.com
Le 24/12/2018 à 9:37
Merciii pour ce travail magnifique. Je ne connais pas grand chose aux tableaux structurés et j’ai donc inscrit celui-ci dans ma todo-list. Pourquoi n’y a t’il que 24h dans une journée. Il y’a tellement de chose à apprendre ?
1  0 
Avatar de Pierre Fauconnier
Responsable Office & Excel https://www.developpez.com
Le 28/12/2018 à 11:56
Citation Envoyé par curt Voir le message
[...]
Je ne peux plus me passer de ces tableaux.[...]
En fait, je me demande comment on a pu s'en passer pendant tout ce temps tellement ils simplifient la vie avec Excel et, comme nous le verrons dans mon prochain tuto, avec VBA également...
1  0