Page 1 sur 1

Barrer une cellule à l'aide d'une croix

MessagePosté: Mercredi 17 Février 2010, 19:56
par Fabrice Couvreur
Bonsoir à tous,
Je sais mettre une barre oblique dans une cellule à l'aide de la commande \backslashbox du package slashbox.sty, mais je ne vois comment faire pour y mettre une croix.
Merci.

Re: Barrer une cellule à l'aide d'une croix.

MessagePosté: Mercredi 17 Février 2010, 21:26
par kojak
bonsoir

Code: Tout sélectionner
\backslashbox{en dessous}{au dessus }
:wink:

Re: Barrer une cellule à l'aide d'une croix.

MessagePosté: Mercredi 17 Février 2010, 21:46
par Fabrice Couvreur
Bonsoir,
J'ai essayé avant de solliciter de l'aide, mais cela ne fonctionne pas. Je précise que j'utilise le package tabularx.sty.

Re: Barrer une cellule à l'aide d'une croix.

MessagePosté: Jeudi 18 Février 2010, 09:00
par kojak
Fabrice Couvreur a écrit:Je précise que j'utilise le package tabularx.sty.


Ah oui, si tu ne précises pas tout....
A priori, pas possible avec tabularx mais seulement avec tabular.

Re: Barrer une cellule à l'aide d'une croix.

MessagePosté: Jeudi 18 Février 2010, 15:50
par Fabrice Couvreur
Bonjour à tous,
Je change la forme de mon tableau et j'utilise le package array.sty, mais ...

Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{array}
\usepackage{slashbox}
\usepackage{textcomp}
\usepackage{calc}
\usepackage[frenchb]{babel}
\begin{document}
\begin{center}
\renewcommand{\arraystretch}{1.4}
\begin{tabular}{*{11}{|c}|}
\hline
   &A   &B   &C   &D   &E   &F   &G&H&I&J\\ \hline
1   & Prix d'un lot A en € :& 180&&&&&&&&\\ \hline
2& Prix d'un lot B en € :& 200&&&&&&&&\\ \hline
3&\backslashbox{$x$}{$y$}&0&1&2&   3&4&5&6&7&8\\ \hline
4&0&   0&   200&   400&   600&   800&\nombre{1000}&\nombre{1200}&\nombre{1400}&\nombre{1600}\\ \hline
5&1&   180&   380&   580&   780&   980&   \nombre{1180}&\nombre{1380}&\nombre{1580}&\nombre{1780}\\ \hline
6&2&   360&   560&   760&   960&   \nombre{1160}&\nombre{1360}&\nombre{1560}&\nombre{1760}&\nombre{1960}\\ \hline
7&3&   540&   740&   940&   \nombre{1140}&\nombre{1340}&   \nombre{1540}&\nombre{1740}&\nombre{1940}&\nombre{2140}\\ \hline
8&4&   720&920&\nombre{1120}&\nombre{1320}&   \nombre{1520}&\nombre{1720}&\nombre{1920}&\nombre{2120}&\nombre{2320}\\ \hline
9&5&   900&   \nombre{1100}&\nombre{1300}&\nombre{1500}&\nombre{1700}&\nombre{1900}&\nombre{2100}&\nombre{2300}&\nombre{2500}\\ \hline
10&6&\nombre{1080}&\nombre{1280}&\nombre{1480}&\nombre{1680}&\nombre{1880}&\nombre{2080}&\nombre{2280}&\nombre{2480}&\nombre{2680}\\ \hline
11&7&\nombre{1260}&\nombre{1460}&\nombre{1660}&\nombre{1860}&\nombre{2060}&\nombre{2260}&\nombre{2460}&\nombre{2660}&\nombre{2860}\\ \hline
12&8&\nombre{1440}&\nombre{1640}&\nombre{1840}&\nombre{2040}&\nombre{2240}&\nombre{2440}&\nombre{2640}&\nombre{2840}&\nombre{3040}\\ \hline
13&9&\nombre{1620}&\nombre{1820}&\nombre{2020}&\nombre{2220}&\nombre{2420}&\nombre{2620}&\nombre{2820}&\nombre{3020}&   \nombre{3220}\\ \hline
14&10&\nombre{1800}&\nombre{2000}&\nombre{2200}&\nombre{2400}&\nombre{2600}&\nombre{2800}&\nombre{3000}&\nombre{3200}&\nombre{3400}\\ \hline
\end{tabular}
\end{center}
\end{document}


Merci pour votre aide.

Re: Barrer une cellule à l'aide d'une croix.

MessagePosté: Jeudi 18 Février 2010, 16:14
par kojak
slashbox n'est pas réputé pour son efficacité.... Ca fonctionne plutôt bien si tu veux barrer une case dans la première colonne, après ça donne ce que tu as...

Pas de solution à te proposer...

Re: Barrer une cellule à l'aide d'une croix.

MessagePosté: Vendredi 19 Février 2010, 20:06
par Altermundus
En voilà une, qui doit être encore un peu améliorée car il y a un tout petit défaut mais je ne sais pourquoi ...
mon fantôme n'est pas assez grand et il y a un léger décalage.
Sinon avec numprint et un nouveau type colonne j'ai aligné les unités dans la première colonne n{2}{0}. Il est possible d'aligner avec n{4}{0} les autres cellules mais il faut séparer les trois premières lignes et faire un tabular dans le tabular et c'est long ...
Sinon si on reprend le dernier code, il suffit de \multicolumn{3} pour que la barre soit correctement placée

Je n'aime pas ce \blackslash, il n'est pas beau (tordu) de plus cela fait une colonne (la deuxième) trop large !
Question : c'est possible dans un tableur ? si c'est non il faudrait procéder comme il est souvent dit par décalage ou bien avec multicolonne

|______________y__
x| 0 | 1 | 2 | etc.

Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{array}
\usepackage{slashbox}
\usepackage{textcomp}
\usepackage{amsmath,calc}
\usepackage[frenchb]{babel}
\usepackage[np]{numprint}
\begin{document}
  \newcommand*{\chph}{\hphantom{6}}             
\begin{center}
\renewcommand{\arraystretch}{1.4}
\[
  \begin{tabular}{|n{2}{0}|c|c|c|c|c|c|c|c|c|c|}
\hline
    & A   & B   & C   & D   & E   & F   & G & H & I & J\\ \hline
1   &  \multicolumn{3}{|c|}{Prix d'un lot A en €} &180&&&&&&\\ \hline
2   &  \multicolumn{3}{|c|}{Prix d'un lot B en €} &200&&&&&&\\ \hline 
3&\backslashbox{$x$}{$y$}&0&1&2&   3&4&5&6&7&8\\ \hline
4 & \chph0&   \chph\chph\chph 0&   \chph200&   \chph400&   \chph600&   \chph800&\np{1000}&\np{1200}&\np{1400}&\np{1600}\\ \hline
5 & \chph1&   \chph180&   \chph380&   \chph580&   \chph780&   \chph980&   \np{1180}&\np{1380}&\np{1580}&\np{1780}\\ \hline
6 & \chph2&   \chph360&   \chph560&  \chph 760&   \chph960&   \np{1160}&\np{1360}&\np{1560}&\np{1760}&\np{1960}\\ \hline
7 &\chph3&   \chph540&   \chph740&   \chph940&   \np{1140}&\np{1340}&   \np{1540}&\np{1740}&\np{1940}&\np{2140}\\ \hline
8 & \chph4&    \chph720&  \chph920&\np{1120}&\np{1320}&   \np{1520}&\np{1720}&\np{1920}&\np{2120}&\np{2320}\\ \hline
9 & \chph5&    \chph900&   \np{1100}&\np{1300}&\np{1500}&\np{1700}&\np{1900}&\np{2100}&\np{2300}&\np{2500}\\ \hline
10 & \chph6 & \np{1080}&\np{1280}&\np{1480}&\np{1680}&\np{1880}&\np{2080}&\np{2280}&\np{2480}&\np{2680}\\ \hline
11 & \chph7 & \np{1260}&\np{1460}&\np{1660}&\np{1860}&\np{2060}&\np{2260}&\np{2460}&\np{2660}&\np{2860}\\ \hline
12 & \chph8 & \np{1440}&\np{1640}&\np{1840}&\np{2040}&\np{2240}&\np{2440}&\np{2640}&\np{2840}&\np{3040}\\ \hline
13 & \chph9 & \np{1620}&\np{1820}&\np{2020}&\np{2220}&\np{2420}&\np{2620}&\np{2820}&\np{3020}&   \np{3220}\\ \hline
14 & 10 & \np{1800}&\np{2000}&\np{2200}&\np{2400}&\np{2600}&\np{2800}&\np{3000}&\np{3200}&\np{3400}\\ \hline
\end{tabular}     
\]
\end{center}
\end{document}


l'autre solution :

Code: Tout sélectionner
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{array}
\usepackage{slashbox}
\usepackage{textcomp}
\usepackage{amsmath,calc}
\usepackage[frenchb]{babel}
\usepackage[np]{numprint}
\begin{document}
  \newcommand*{\chph}{\hphantom{6}}             
\begin{center}
\renewcommand{\arraystretch}{1.4}
\[
  \begin{tabular}{|n{2}{0}|c|c|c|c|c|c|c|c|c|c|c|}
\hline
    & A   & B   & C   & D   & E   & F   & G & H & I & J&K\\ \hline
1 &  & & \multicolumn{3}{c|}{Prix d'un lot A en €} &180&&&&&\\ \hline
2 &  & & \multicolumn{3}{c|}{Prix d'un lot B en €} &200&&&&&\\ \hline
3 &  & & \multicolumn{9}{c|}{$y$} \\ \hline 
4 &  &  &0&1&2&   3&4&5&6&7&8\\ \hline
5 && \chph0&   \chph\chph\chph 0&   \chph200&   \chph400&   \chph600&   \chph800&\np{1000}&\np{1200}&\np{1400}&\np{1600}\\ \hline
6 && \chph1&   \chph180&   \chph380&   \chph580&   \chph780&   \chph980&   \np{1180}&\np{1380}&\np{1580}&\np{1780}\\ \hline
7 && \chph2&   \chph360&   \chph560&  \chph 760&   \chph960&   \np{1160}&\np{1360}&\np{1560}&\np{1760}&\np{1960}\\ \hline
8& &\chph3&   \chph540&   \chph740&   \chph940&   \np{1140}&\np{1340}&   \np{1540}&\np{1740}&\np{1940}&\np{2140}\\ \hline
9 && \chph4&    \chph720&  \chph920&\np{1120}&\np{1320}&   \np{1520}&\np{1720}&\np{1920}&\np{2120}&\np{2320}\\ \hline
10 &$x$ & \chph5&    \chph900&   \np{1100}&\np{1300}&\np{1500}&\np{1700}&\np{1900}&\np{2100}&\np{2300}&\np{2500}\\ \hline
11& & \chph6 & \np{1080}&\np{1280}&\np{1480}&\np{1680}&\np{1880}&\np{2080}&\np{2280}&\np{2480}&\np{2680}\\ \hline
12& & \chph7 & \np{1260}&\np{1460}&\np{1660}&\np{1860}&\np{2060}&\np{2260}&\np{2460}&\np{2660}&\np{2860}\\ \hline
13& & \chph8 & \np{1440}&\np{1640}&\np{1840}&\np{2040}&\np{2240}&\np{2440}&\np{2640}&\np{2840}&\np{3040}\\ \hline
14& & \chph9 & \np{1620}&\np{1820}&\np{2020}&\np{2220}&\np{2420}&\np{2620}&\np{2820}&\np{3020}&   \np{3220}\\ \hline
15& & 10 & \np{1800}&\np{2000}&\np{2200}&\np{2400}&\np{2600}&\np{2800}&\np{3000}&\np{3200}&\np{3400}\\ \hline
\end{tabular}     
\]
\end{center}

\end{document}


Il est possible de faire mieux avec un multirow et un tabular dans le tabular.
Alain

Re: Barrer une cellule à l'aide d'une croix.

MessagePosté: Vendredi 19 Février 2010, 23:09
par Fabrice Couvreur
Bonsoir,
Un grand Merci à Alain pour ce code.
Fabrice.