Voici une solution, recourant aux fonctionnalités du package `array`, qui combine l'idée de touhami et le souci de Nikopol de conserver la syntaxe de l'environnement `tabular` :
\documentclass{article}
\usepackage{array}
\newcounter{mtligne}
\begin{document}
\begin{tabular}{>{\stepcounter{mtligne} \themtligne}cll}
\hline
\multicolumn{1}{c}{\textbf{N}} & \textbf{Col. 1} & \textbf{Col. 2} \\\hline
& Colonne 1 & Colonne 2 \\\hline
& Colonne 1 & Colonne 2 \\\hline
& Colonne 1 & Colonne 2
\end{tabular}
\end{document}
## Mise à jour ##
Pour éviter de devoir manuellement réinitialiser le compteur dans le cas de plusieurs tableaux dont les lignes doivent être numérotées, on peut recourir à la commande `\AtEndEnvironment` du package `etoolbox` :
\documentclass{article}
\usepackage{array}
\usepackage{etoolbox}
\newcounter{mtligne}
\AtEndEnvironment{tabular}{\setcounter{mtligne}{0}}
\begin{document}
\begin{tabular}{>{\stepcounter{mtligne} \themtligne}cll}
\hline
\multicolumn{1}{c}{\textbf{N}} & \textbf{Col. 1} & \textbf{Col. 2} \\\hline
& Colonne 1 & Colonne 2 \\\hline
& Colonne 1 & Colonne 2 \\\hline
& Colonne 1 & Colonne 2
\end{tabular}
\bigskip
\begin{tabular}{>{\stepcounter{mtligne} \themtligne}cll}
\hline
\multicolumn{1}{c}{\textbf{N}} & \textbf{Col. 1} & \textbf{Col. 2} \\\hline
& Colonne 1 & Colonne 2 \\\hline
& Colonne 1 & Colonne 2 \\\hline
& Colonne 1 & Colonne 2
\end{tabular}
\end{document}