Aller au contenu

Aide:Insérer un tableau (wikicode, avancé)

Une page de Wikipédia, l'encyclopédie libre.
Wikicode
Cette page ne concerne que le wikicode (liens « modifier le code »).
Voir la page d'aide pour l'éditeur visuel.
Quelle différence ?
Niveau avancé
Nous vous recommandons de lire auparavant Aide:Insérer un tableau (wikicode)
Un tableau est un outil de mise en page, servant à mettre en évidence des données chiffrées ou des listes. Cette page d'aide présente les fonctions les plus fréquentes pour construire un tableau.

Si vous souhaitez directement obtenir des tableaux prêts à remplir, il existe une icône « Tableau » disponible dans la fenêtre de modifications, dans l'onglet « Avancé ».

Les tableaux posant fréquemment des problèmes d'accessibilité, plusieurs instructions sont présentes sur Wikipédia:Atelier accessibilité/Bonnes pratiques#Tableaux, pour respecter les principales conventions de navigation.

Syntaxe d'un tableau élémentaire

[modifier | modifier le code]

Amorcer un tableau

[modifier | modifier le code]

Un tableau s’ouvre avec le code : {|.

La plupart des tableaux utilisent la classe wikitable, s'écrivant : class="wikitable". L'usage de la classe wikitable simplifie et harmonise la mise en forme des tableaux de données.

Par défaut, un tableau est positionné à gauche, mais peut être centré avec : class="wikitable centre" (attention à ne pas utiliser (en-US) center qui est déjà pris par MediaWiki et qui sert à autre chose, bien que des rustines aient été appliquées sur ce wiki afin cela fonctionne aussi avec ce nom).

Pour améliorer la lisibilité des grands tableaux, une alternance de gris peut être appliquée avec : class="wikitable alternance".

Un tableau se ferme avec le code : |}.

Insérer un titre

[modifier | modifier le code]

Le titre du tableau est défini par : |+.

Le titre du tableau se place en début de tableau, avant la première rangée de cellules. Si plusieurs titres sont indiqués, seul le premier est pris en compte.

Insérer une nouvelle ligne

[modifier | modifier le code]

Une nouvelle ligne est créée dans un tableau avec le code : |-.

Le nombre de tirets dans |- n'est pas limité, on peut en ajouter pour rendre le code wiki plus lisible ; par exemple : |------.

Le code |- est ignoré s’il n’est pas suivi de contenu suivi de nouvelles cellules.

Créer une cellule

[modifier | modifier le code]

Une nouvelle cellule (ou case) est créée dans une ligne avec le code : | (si le contenu des cellules est décrit verticalement) ; ou bien : || (si contenu décrit horizontalement).

Il est possible de laisser des cellules vides. Dans la disposition à l'horizontale, il est alors important de toujours placer au moins une espace avant les deux barres verticales séparant deux cellules, afin de clairement identifier les cellules et attributs de cellules.

NB : les cellules ainsi créées se suivront sur la même ligne tant qu'un code |- n'est pas inséré. Il n'est pas possible de remplir un tableau par colonne.

Créer un en-tête de colonne ou un en-tête de ligne

[modifier | modifier le code]

Un en-tête de colonne est créé par : ! scope="col".

L'en-tête de colonne se place sur la première ligne (avant la première ligne de contenu), c'est-à-dire après le premier |-.

Un en-tête de ligne est créé par : ! scope="row".

L'en-tête de ligne se place au début de chaque ligne, c'est-à-dire après chaque |-.

Par défaut dans la classe wikitable, le texte des en-têtes est affiché en gras, tous les en-têtes prennent une couleur de fond différente, et les en-têtes de colonnes sont centrés tandis que les en-têtes de lignes sont alignés à gauche.

En syntaxe wiki, le point d’exclamation est utilisé à la place de la barre verticale pour définir des en-têtes.

Exemple récapitulatif

[modifier | modifier le code]
Titre
Titre col. A Titre col. B Titre col. C
Titre ligne 1 Donnée 1A Donnée 1B Donnée 1C
Titre ligne 2 Donnée 2A Donnée 2B Donnée 2C
Titre ligne 3 Donnée 3A Donnée 3B Donnée 3C
 {| class="wikitable alternance centre"
 |+ Titre
 |-
 |
 ! scope="col" | Titre col. A
 ! scope="col" | Titre col. B
 ! scope="col" | Titre col. C
 |-
 ! scope="row" | Titre ligne 1
 | Donnée 1A
 | Donnée 1B
 | Donnée 1C
 |-
 ! scope="row" | Titre ligne 2
 | Donnée 2A
 | Donnée 2B
 | Donnée 2C
 |-
 ! scope="row" | Titre ligne 3
 | Donnée 3A
 | Donnée 3B
 | Donnée 3C
 |}
ou
 {| class="wikitable alternance centre"
 |+ Titre
 |----
 ! !! scope="col" | Titre col. A !! scope="col" | Titre col. B !! scope="col" | Titre col. C
 |----
 ! scope="row" | Titre ligne 1
 | Donnée 1A || Donnée 1B || Donnée 1C
 |----
 ! scope="row" | Titre ligne 2
 | Donnée 2A || Donnée 2B || Donnée 2C
 |----
 ! scope="row" | Titre ligne 3
 | Donnée 3A || Donnée 3B || Donnée 3C
 |}

Syntaxe supplémentaire

[modifier | modifier le code]
Certaines fonctions ne sont pas compatibles avec les bonnes pratiques d'accessibilité. Pour savoir si un tableau ne comporte pas de défaut de cet ordre, utilisez le gadget « Accessibilité ». Si du rouge apparaît, le code posera des problèmes à certains lecteurs de l'encyclopédie, notamment ceux qui utilisent un lecteur d'écran. (Cf Wikipédia:Atelier accessibilité/Aide gadget).

Largeur d'un élément du tableau

[modifier | modifier le code]

Pour définir la largeur d'un élément, on utilise la fonction width="x%" : en début de tableau {| width="100%", ou de cellule ||width="50%"|.

La largeur est le plus souvent exprimée en pixels (utiliser alors px au lieu de %) ou en pourcentage. L'utilisation des pourcentages est recommandée car ceux-ci permettent au tableau de s'adapter à l'écran du lecteur.

Exemple concret :

{| class="wikitable"
|+Tableau exemple
!scope=col|titre A
!scope=col|titre B
|-
|width="50%"|AAAAAAAAAAAAAAAAAAAAA
|BBB
|}
Tableau exemple
titre A titre B
AAAAAAAAAAAAAAAAAAAAA BBB

Largeur du tableau

[modifier | modifier le code]

Lorsque width="100%" ne fonctionne pas comme attendu, on peut paramétrer un tableau pour prendre toute la largeur de l'écran avec style="width:100%;"

Exemple concret :

{| class="wikitable" style="width:100%;"
|-
| style="width:120px;" | Imbert || du germanique ''im'' «immense» et ''berht'' «brillant».
|-
| Ingres || de l'ancien français ''haingre'' «maigre».
|-
| Irigoyen || du basque ''hiri'' «village» et ''goyen'' «élevé».
|}
Imbert du germanique im «immense» et berht «brillant».
Ingres de l'ancien français haingre «maigre».
Irigoyen du basque hiri «village» et goyen «élevé».

Alignement vertical du texte dans une cellule

[modifier | modifier le code]

Pour définir l'alignement vertical du texte, on utilise la fonction valign="x" : tableau {| valign="top", ligne |- valign="top", case ||valign="bottom"| . Les valeurs possibles sont top et bottom

Fusionner des cellules

[modifier | modifier le code]

Il est parfois nécessaire de fusionner des cellules.

Pour fusionner horizontalement x cellules, on utilise la fonction colspan="x" (expansion de x colonnes) : ||colspan="2"|. La première cellule à gauche doit être paramétrée, l'extension se fait vers la droite. Les cellules « mangées » ne doivent pas être présentes dans le code.

Pour fusionner verticalement x cellules, on utilise la fonction rowspan="x" (expansion de x rangées) : ||rowspan="2"|. La 1re cellule du haut doit être paramétrée, l'extension se fait vers le bas. Les cases « mangées » ne doivent pas être présentes dans le code.

Exemple concret :

{| class="wikitable"
|-
!scope=col| Column 1
!scope=col| Column 2
!scope=col| Column 3
|-
| rowspan="2" | A
| colspan="2" style="text-align: center;" | B
|-
| C <!-- colonne 1 occupée par la cellule  A -->
| D
|-
| E
| rowspan="2" colspan="2" style="text-align: center;" |F
|-
| G <!-- colonnes 2+3 occupées par la cellule  F -->
|-
| colspan="3" style="text-align: center;" | H
|-
| rowspan="2" | I
| J
| rowspan="2" colspan="2" style="text-align: center;" |L
|-
| K
|-
| rowspan="2" | M
| N
| P
|-
| O
| Q
|}

Ce qui donne :

Column 1 Column 2 Column 3
A B
C D
E F
G
H
I J L
K
M N P
O Q

Tableaux triables

[modifier | modifier le code]
La fonction tri n'est pas toujours disponible, notamment avec la version mobile de Wikipédia.

Les tableaux peuvent être triés. Les tableaux triables s'identifient grâce aux flèches de tri des en-têtes. Le tri est cependant à utiliser avec parcimonie dans les articles, allant à l'encontre de normes d'accessibilité.

Un tableau devient triable lorsque celui commence par : {| class="wikitable sortable".

Une colonne devient fixe et non triable lorsqu'on lui spécifie : ||class="unsortable"|.

Une ligne devient fixe et non triable lorsqu'on lui spécifie : |- class="sortbottom".

Les tableaux ayant des cellules fusionnées sur plusieurs rangées (rowspan) ou colonnes (colspan) ou ayant des cellules manquantes en fin de ligne ne se trient pas correctement. Il est recommandé d'utiliser la fusion de colonnes ou de lignes uniquement dans des cellules non triées, avec donc le code "unsortable" ou "sortbottom". Voir exemple ci-après.

Le modèle {{Info tableau triable}} peut être placé après le titre du tableau pour indiquer comme trier les colonnes en cliquant sur les flèches (rendu : (les colonnes sont triables avec les flèches )).

Exemple bilan

[modifier | modifier le code]

Le tableau ci-après est un bilan, il utilise au moins une fois chaque fonction souvent nécessaire (width, align, colspan, rowspan, sortable, style="text-align:center").

Certaines fonctions, et notamment les tableaux triables, sont incompatibles avec les lecteurs d'écran. Ces tableaux triables sont de plus inexploitables, voire illisibles sur de nombreux smartphones.
Benelux
Pays Rang Population Date du relevé
Pays-Bas 1 16 500 000 2003
Belgique 2 10 millions 2007
Luxembourg 3 0,5 million
Benelux Total : 27 M
{|class="wikitable sortable" style="text-align:center; width:80%;"
|+ Benelux
! scope="col" width="25%" | Pays
! scope="col" | Rang
! scope="col" | Population
! scope="col" | Date du relevé
|-
| Pays-Bas || 1 || align="right" | {{formatnum:16500000}} || 2003
|-
| Belgique || 2 || align="right" | 10 millions || 2007
|-
| Luxembourg || 3 || align="right" | 0,5 million ||
|-class="sortbottom"
| '''Benelux''' || colspan="3" |  '''Total : 27 M'''
|}