Table des matières (masquer)
1. Fusion de cellules
\multicolumn{cols}{pos}{text} permet de fusionner, sur une ligne, un nombre défini par cols de cellules, d’y placer le text avec l’alignement et les séparateurs définis par pos :

\begin{tabular}{|c|l|l|}
\hline
A & \multicolumn{2}{c|}{B} \\ \hline
1 & 234 & 456 \\ \hline
a & b & c \\ \hline
\end{tabular} \multirow{nb}{larg}{text} du module multirow permet de fusionner, sur une colonne, un nombre nb de cellules, d’y placer le text sur une largeur définie par larg (ou {*} qui laisse LATEX gérer la largeur) :

\usepackage{multirow}
\begin{tabular}{|l|c|c|}
\hline
AA & BB & CC \\ \hline
\multirow{2}*{X} & 1 & 2 \\
& 3 & 4 \\ \hline
5 & 6 & 7 \\ \hline
\end{tabular} \multirowsetup permet de régler l’alignement à \raggedright (valeur par défaut) \raggedleft ou \centering :

\usepackage{multirow}
\renewcommand{\multirowsetup}{\centering}
\begin{tabular}{|l|c|c|}
\hline
A & B & C \\ \hline
1 & 2 & \multirow{2}{1cm}{X} \\
3 & 4 & \\ \hline
5 & 6 & 7 \\ \hline
\end{tabular} 2. Bordures
Appliqué à une cellule, \multicolumn permet de redéfinir localement les propriétés d’une cellule, notament ses bordures verticales. Pour les bordures horizontales, \cline{ci-cj} trace une ligne dans les colonnes ci à cj.

\begin{tabular}{|l|c|c|}
\cline{2-3}
\multicolumn{1}{c|}{} & A & B \\ \hline
Ligne 1 & A1 & B1 \\ \cline{1-1}
Ligne 2 & A2 & B2 \\ \hline
\end{tabular} 
\begin{tabular}{|c|cc}
\cline{1-1}
1 & 2 & 3 \\
\cline{1-2}
1 & \multicolumn{1}{c|}{2} & 3 \\
\hline
1 & \multicolumn{1}{c|}{2} &
\multicolumn{1}{|c|}{3} \\
\hline
\end{tabular} Remarquez l’erreur qui s’est glissée dans l’exemple précédent : le séparateur vertical entre 2 et 3 sur la dernière ligne semble trop épais car il y en a en réalité deux :
\multicolumn{1}{|c|}{3}
devrait être remplacé par
\multicolumn{1}{c|}{3}
On peut définir une bordure personnlisée grâce à @ :

\begin{tabular}{l@{ : }r@{ après J.C.}}
Charlemagne empereur & 800 \\
Marignan & 1515 \\
Conquête de la lune & 1969 \\
\end{tabular} 3. Hauteur de ligne, largeur de colonne
3.1 Modifier pour toutes les lignes ou toutes les colonnes
Redéfinir \arraystretch permet d’augmenter la hauteur de toutes les lignes :

\renewcommand{\arraystretch}{1.8}
\begin{tabular}{|c|c|c|}
\hline
A & B & C \\ \hline
1 & 2 & 3 \\ \hline
\end{tabular} Redéfinir \tabcolsep permet d’augmenter la largeur de toutes les colonnes :

\setlength{\tabcolsep}{10mm}
\begin{tabular}{|c|c|c|} \hline
A & B & C \\ \hline
1 & 2 & 3 \\ \hline
\end{tabular} 3.2 Modifier pour une ligne ou une colonne particulière
Pour augmenter la hauteur d’une ligne, on peut y placer un segment vertical de largeur nulle (donc invisible) avec \rule[décalage vertical]{largeur}{hauteur} :

\begin{tabular}{|c|c|c|}
\hline
A & B & C \\ \hline
a & b & c\rule[-7pt]{0pt}{20pt} \\ \hline
1 & 2 & 3 \\ \hline
\end{tabular} Pour augmenter la largeur d’une colonne, on peut ajouter des espaces horizontaux à la cellule la plus large de la colonne :

\begin{tabular}{|c|c|c|} \hline
\hspace{7mm}A\hspace{7mm} & B & C \\
\hline
1 & 2 & 3 \\ \hline
\end{tabular} 3.3 Colonne de largeur fixée pour texte multiligne
La lettre p crée une colonne de taille figée dont le texte est aligné à gauche avec la ligne du haut :

\begin{tabular}{|c|p{1.5cm}|p{2cm}|}
\hline
A & B & C \\ \hline
a & Bien trop long & Court \\ \hline
\end{tabular} Avec le module array, la lettre m (resp. b) de crée une colonne de taille figée dont le texte est justifié (on préfèrerait ici un alignement à gauche étant donné la petite taille de la colonne voir paragraphe suivant) les autres cellules étant centrées verticalement (resp. en bas) :

\usepackage{array}
\begin{tabular}{|c|m{1.5cm}|c|}
\hline
A & B & C \\ \hline
a & bla bla bla & c \\ \hline
\end{tabular} 4. Définir le format de colonne
Avec le module array on peut grâce aux opérateurs >{commandes} et <{commandes} définir des commandes qui seront appliquées avant et après chaque entrée d’une colonne.
On peut de cette manière mettre une colonne en mode mathématique :

\usepackage{array}
\begin{tabular}{|c|>{$}c<{$}|}
\hline
infini & \infty \\
dérivée partielle & \partial \\ \hline
\end{tabular} On peut aussi centrer horizontalement une colonne de taille figée :

\usepackage{array}
\begin{tabular}%
{|c|>{\centering\arraybackslash}m{2cm}|}
\hline
A & B \\ \hline
a & Bien trop long \\ \hline
\end{tabular} 5. Exemples
Une application des commandes vues précédemment

\renewcommand{\arraystretch}{1.8}
\setlength{\tabcolsep}{3mm}
\begin{tabular}%
{|>{\large\bfseries}l|c|c|}
\cline{2-3}
\multicolumn{1}{c|}{} &
\rotatebox{45}{Nobel} &
\rotatebox{45}{Année }\\ \hline
A. Einstein & Physique & 1905 \\ \hline
\multirow{2}*{M. Curie} & Physique & 1903 \\
\cline{2-3}
& Chimie & 1911 \\ \hline
\end{tabular} Plus difficile : définition de nouveaux séparateurs pour un sudoku :

\newcolumntype{I}{!{\vrule width 1.5pt}}
\newlength\savedwidth
\newcommand\whline{\noalign{\global\savedwidth
\arrayrulewidth\global\arrayrulewidth 1.5pt}
\hline \noalign{\global\arrayrulewidth
\savedwidth}
}
\renewcommand{\arraystretch}{1.5}
\begin{tabular}{Ic|c|cIc|c|cIc|c|cI}
\whline
1 & 6 & 4 & & & & & & 2 \\ \hline
2 & & & 4 & 6 & 3 & 9 & 1 & \\ \hline
& & 5 & & 8 & & 4 & & 7 \\ \whline
& 9 & & & & 6 & 5 & & \\ \hline
5 & & & 1 & & 2 & & & 8 \\ \hline
& & 8 & 9 & & & & 3 & \\ \whline
8 & & 9 & & 4 & & 2 & & \\ \hline
& 7 & 3 & 5 & & 9 & & & 1 \\ \hline
4 & & & & & & 6 & 7 & 9 \\ \whline
\end{tabular} 