Voici une solution basée sur l'extension *array*.
On définit deux nouvelles commandes
\newcommand*{\mtbf}{\bfseries\slshape}
\newcommand*\nobf{\global\let\mtbf\relax}
et deux styles à appliquer sur les colonnes de tableau
\newcolumntype{H}{>{\mtbf}}
\newcolumntype{G}{<{\nobf}}
en utilise le style `H` à gauche de chaque colonne par conséquent l’écriture `Hc` est équivalente à `>{\mtbf}c` ce qui est
`>{\bfseries\slshape}c` et `Hl` est équivalente à `>{\mtbf}l` ou encore `>{\bfseries\slshape}c`. `>{\bfseries\slshape}l`. Le style `G` à droite de la dernière colonne pour annuler le style `H`.
\documentclass{article}
\usepackage{array}
\newcommand*{\mtbf}{\bfseries\slshape}
\newcommand*\nobf{\global\let\mtbf\relax}
\newcolumntype{H}{>{\mtbf}}
\newcolumntype{G}{<{\nobf}}
\begin{document}
\begin{tabular}{HcHcHcG}
a & b & c \\
1 & 2 & 3 \\
a & b & c \\
\end{tabular}
\end{document}