" Mais ta solution si j'ai bien compris implique que mes 7 modules soit compris dans cette fonction... "
Non ! Pas forcément.
A chaque module , sa procédure spécifique.
Il ne faudra donc pas chercher à mettre tout dans le même sac.
Mais si tu as des procédures qui se ressemble dans le fond, résumes les en une seule procédure publique mais en passant comme arguments le module apelant, l' user_form concerné,..etc.
Ceci dit, au sein d' une même fonction, on pourra placer, plusieurs ON ERROR, qui renverraient chacun à une etiquette spécifique.
Exemple:
Code Visual Basic :
Function PROCEDER() As Integer
On Error Goto Err_1
<traitement1>
On Error Goto Err_2
<traitement2>
On Error Goto Err_3
<traitement3>
Exit Function
Err_1:
PROCEDER=1
Exit Function
Err_2:
PROCEDER=2
Exit Function
Err_3:
PROCEDER=3
End Function
Puis appeler cette function
Code Visual Basic :
If PROCEDER=1 Then
CORRIGER_1
ElseIf PROCEDER=2 Then
CORRIGER_2
If PROCEDER=3 Then
CORRIGER_3
End If
PS:
Dans mon précédent poste la sub INITIALISER voulait dire CORRIGER,et non tout remettre à zéro.
[] Ce qui va sans dire. va mieux en le disant.