Si (et je dis bien si) tabularx joue avec les \@currenv comme tu le dis et
que ça ressemble un peu à la façon dont les environnements amsainsi que
ceux de fanvyvrb jouent avec les \@currenv, c'est super facile :
\newenvironment{MONSALEtab}{%
\tabularx\textwidth{>{\ttfamily}lX}}{%
\endtabularx}
J'ai dit si. Mais je fais ça tous les jours avec Verbatim, SaveVerbatim, et
autres, et ne m'en porte pas plus mal (mon TeX non plus, merci pour lui).
Manuel.
Non t'as pas compris. fait un \tracingmacros=2 avant le \begin{tabularx} et regarde le log.
tabularx LIT TOUT LE TABLEAU (et C'Est Bien Normal puisqu'il cherche à déterminer les largeurs optimales)
C'est pas seulement une question d'\@currenv :
regarde dans tabularx.sty il y a :
\def\TX@get@body#1\end{%
....}
et il vérifie ensuite (\TX@find@end si mon souvenir est bon) que c'est bien : \end{tabularx}
Hors : dans l'expansion de \beginMONSALEtab, il ne semble y avoir encore de \end{tabularx} puisque celui-ci serait inséré au moment de l'expansion de \end{MONSALEtab}
Bref, essaie l'exemple minimal sur MiKTeX et dis moi si ça marche.
'Soir