\documentclass[12pt,a4paper,landscape,french]{article}
\usepackage[utf8]{inputenc}

\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{lmodern}

%\usepackage{showkeys}
\usepackage{crossreftools}
\usepackage{listofitems}

\usepackage[bloc,francais]{automultiplechoice}
\geometry{hmargin=1.5cm}

\usepackage{babel}

\usepackage{cleveref}


\setlength{\parindent}{0pt}
\begin{document}


\setdefaultgroupmode{withreplacement}

\element{cours}{
\begin{question}{dipole}\AMClabel{dipole}
Question dont l'identifiant est dipole. Sa référence est \textbackslash AMClabel\{dipole\}. 
\begin{reponses}
\bonne{C'est la bonne réponse.}
\mauvaise{C'est une mauvaise réponse.}
\mauvaise{C'est une mauvaise réponse.}
\mauvaise{C'est une mauvaise réponse.}
\end{reponses}
\end{question}
}
\element{cours}{
\begin{question}{exercice}\AMClabel{exercice}
Question dont l'identifiant est exercice. Sa référence est \textbackslash AMClabel\{exercice\}.
\begin{reponses}
\mauvaise{C'est une mauvaise réponse.}
\bonne{C'est la bonne réponse.}
\mauvaise{C'est une mauvaise réponse.}
\mauvaise{C'est une mauvaise réponse.}
\end{reponses}
\end{question}
}
\element{cours}{
\begin{question}{reflexion}\AMClabel{reflexion}
Question dont l'identifiant est reflexion. Sa référence est \textbackslash AMClabel\{reflexion\}. \
\begin{reponses}
\bonne{C'est la bonne réponse.}
\mauvaise{C'est une mauvaise réponse.}
\mauvaise{C'est une mauvaise réponse.}
\mauvaise{C'est une mauvaise réponse.}
\end{reponses}
\end{question}
}

\element{cours}{
\begin{question}{cours}\AMClabel{cours}
Question dont l'identifiant est cours. Sa référence est \textbackslash AMClabel\{cours\}. 
\begin{reponses}
\bonne{C'est la bonne réponse.}
\mauvaise{C'est une mauvaise réponse.}
\mauvaise{C'est une mauvaise réponse.}
\mauvaise{C'est une mauvaise réponse.}
\end{reponses}
\end{question}
}

\element{cours}{
\begin{question}{raisonnement}\AMClabel{raisonnement}
Question dont l'identifiant est raisonnement. Sa référence est \textbackslash AMClabel\{raisonnement\}.
\begin{reponses}
\bonne{C'est la bonne réponse.}
\mauvaise{C'est une mauvaise réponse.}
\mauvaise{C'est une mauvaise réponse.}
\mauvaise{C'est une mauvaise réponse.}
\end{reponses}
\end{question}
%
}

\element{cours}{
\begin{question}{f}\AMClabel{f}
Question dont l'identifiant est f. Sa référence est \textbackslash AMClabel\{f\}.
\begin{reponses}
\bonne{C'est la bonne réponse.}
\mauvaise{C'est une mauvaise réponse.}
\mauvaise{C'est une mauvaise réponse.}
\mauvaise{C'est une mauvaise réponse.}
\end{reponses}
\end{question}
%
}

\element{cours}{
\begin{question}{g}\AMClabel{g}
Question dont l'identifiant est g. Sa référence est \textbackslash AMClabel\{g\}.
\begin{reponses}
\bonne{C'est la bonne réponse.}
\mauvaise{C'est une mauvaise réponse.}
\mauvaise{C'est une mauvaise réponse.}
\mauvaise{C'est une mauvaise réponse.}
\end{reponses}
\end{question}
%
}

\onecopy{5}{%
\readlist\listeLabels{dipole,exercice,reflexion,f,g,raisonnement,cours}
\def\listeLabelSelection{}

\champnom{NOM :}\vspace*{1ex}

\AMCcodeH{code}{1}\vspace*{1ex}

%\restituegroupe{cours}
\restituegroupe[4]{cours}

\clearpage

%%%%%%%%%%%%%%%

Les \cref{\AMCstudentlabel{dipole},\AMCstudentlabel{exercice},\AMCstudentlabel{reflexion},\AMCstudentlabel{cours},%
\AMCstudentlabel{raisonnement},\AMCstudentlabel{f},\AMCstudentlabel{g}}
 sont restituées grâce à la commande de AMC \texttt{\textbackslash restituegroupe\{…\}} (ligne 119 du fichier tex) et les  numéro des questions sont ordonnés par la commande \texttt{\textbackslash cref\{…\}} du paquet \texttt{cleveref} amendé par une commande obligatoire d'AMC \texttt{\textbackslash AMCstudentlabel\{…\}}.\medskip
 
 \textbackslash cref\{\%
 
 \textbackslash AMCstudentlabel\{dipole\},\textbackslash AMCstudentlabel\{exercice\},\textbackslash AMCstudentlabel\{reflexion\},\textbackslash AMCstudentlabel\{cours\},\% \emph{pas d'espace après les virgules}
 
 \textbackslash AMCstudentlabel\{raisonnement\},\textbackslash AMCstudentlabel\{f\},\textbackslash AMCstudentlabel\{g\}\%
 
 \}

\bigskip

\begin{tabular}{|l|c|c|c|c|}
\hline 

Identifiant question et numéro & page &référence&label présent ? \textbf{package : crossreftools}\\ 
\texttt{\textbackslash cref\{\textbackslash AMCstudentlabel\{…\}\}}&\texttt{\textbackslash AMCpageref\{…\}}&%
\texttt{\textbackslash AMCstudentlabel\{…\}}& %
\textbackslash crtcrefifdefinedlabel\{\textbackslash AMCstudentlabel\{…\}\}\{Yes\}\{No\}\\ \hline 

dipole\hfill \cref{\AMCstudentlabel{dipole}}&\AMCpageref{dipole} & \AMCstudentlabel{dipole}&\crtcrefifdefinedlabel{\AMCstudentlabel{dipole}}{Yes}{No} \\ \hline

 exercice\hfill  \cref{\AMCstudentlabel{exercice}} & \AMCpageref{exercice} & \AMCstudentlabel{exercice}&\crtcrefifdefinedlabel{\AMCstudentlabel{exercice}}{Yes}{No}\\ \hline
 
 reflexion \hfill \cref{\AMCstudentlabel{reflexion}} & \AMCpageref{reflexion}&\AMCstudentlabel{reflexion}&\crtcrefifdefinedlabel{\AMCstudentlabel{reflexion}}{Yes}{No}\\ \hline 
 
 cours \hfill  \cref{\AMCstudentlabel{cours}} & \AMCpageref{cours}&\AMCstudentlabel{cours}&\crtcrefifdefinedlabel{\AMCstudentlabel{cours}}{Yes}{No}   \\ \hline 
 
raisonnement \hfill  \cref{\AMCstudentlabel{raisonnement}} & \AMCpageref{raisonnement}&\AMCstudentlabel{raisonnement}&\crtcrefifdefinedlabel{\AMCstudentlabel{raisonnement}}{Yes}{No}  \\ \hline 
 
f \hfill  \cref{\AMCstudentlabel{f}} & \AMCpageref{f} &\AMCstudentlabel{f}&\crtcrefifdefinedlabel{\AMCstudentlabel{f}}{Yes}{No}  \\ \hline 
 
g\hfill \cref{\AMCstudentlabel{g}}&\AMCpageref{g}&\AMCstudentlabel{g}&\crtcrefifdefinedlabel{\AMCstudentlabel{g}}{Yes}{No}\\ \hline 
\end{tabular}\bigskip

Les \cref{\AMCstudentlabel{raisonnement},\AMCstudentlabel{reflexion}} ont un identifiant commençant par r.

Les \cref{\AMCstudentlabel{g},\AMCstudentlabel{f}} ont pour  identifiant une seule lettre.

Les \cref{\AMCstudentlabel{dipole},\AMCstudentlabel{exercice},\AMCstudentlabel{cours}} ont un identifiant qui se suit dans l'ordre alphabétique.\bigskip

Si on remplace \texttt{\textbackslash restituegroupe\{…\}} par \texttt{\textbackslash restituegroupe[X]\{…\}}, toutes les questions ne seront pas sélectionnées donc des \textbf{??} vont apparaître et la 4\ieme{} colonne du tableau sera modifiée par l'affichage de \frquote{No}.


%\clearpage

Après \texttt{\textbackslash exemplaire\{…\}}, création et lecture d'une liste (paquet \texttt{listofitems}) avec les labels des questions : 

\texttt{\textbackslash readlist\textbackslash listeLabels\{dipole,exercice,reflexion,f,g,raisonnement,cours\}}

Après \texttt{\textbackslash exemplaire\{…\}}, création d'une liste vide qui contiendra les labels des questions sélectionnées par AMC : 
\texttt{\textbackslash def\textbackslash listeLabelSelection\{\}}

\foreachitem\labelLu \in \listeLabels {\crtcrefifdefinedlabel{\AMCstudentlabel{\labelLu}}%
{\xdef\listeLabelSelection{\listeLabelSelection,\AMCstudentlabel{\labelLu}}}{\relax} }

%\StrGobbleLeft{\listeLabelSelection}{1}[\listeLabelSelection]


Les \cref{\listeLabelSelection} ont été sélectionnées grâce à la liste : \listeLabelSelection
}
\end{document}