Le package `spreadtab` permet ce genre de choses, mais il n'est pas écrit en `lua` et fonctionne donc dans toutes les saveurs de LaTeX.
\documentclass{article}
\usepackage{spreadtab}
\makeatletter
\renewcommand\ST@ifcar@isletter[1]{%
\begingroup\escapechar`\\
\lowercase{\expandafter\ST@ifcar@isletter@i\detokenize{#1}}.\@nil
}
\def\ST@ifcar@isletter@i#1#2\@nil{%
\endgroup
\ifnum\numexpr(`#1-`a)*(`#1-`z)\relax>\z@\expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi
}
\makeatother
\begin{document}
Premier tableau :
\begin{spreadtab}{{tabular}{|c|c|}}\hline
@valeur 1 & 12\\\hline
@valeur 2 & 37\\\hline
@\textbf{Total} & b1+b2 tag(total)\\\hline
\end{spreadtab}
Tableau suivant :
\begin{spreadtab}{{tabular}{|c|c|}}\hline
@Total pr\'ec\'edent & \STtag{total}\\\hline
@valeur 1 & 24\\\hline
@\textbf{Total} & b1+b2\\\hline
\end{spreadtab}
\end{document}