For Each CT In Me.Controls 'boucle sur tous les contrôles de L'UserForm2
If TypeOf CT Is MSForms.ComboBox Or TypeOf CT Is MSForms.TextBox Then 'condition : si les contrôle est une combobox ou une textbox
On Error Resume Next 'gestion des erreurs (en cas d'erreur passa à la ligne suivante)
D.Range(CT.Name).Value = CT.Value 'envoie dans la plage nommée du même nom que le nom du contrôle de l'onglet D, la valeur du contrôle
If Err <> 0 Then Err.Clear 'si une erreur a été généré, supprime l'erreur
End If 'fin de la condition
If TypeOf CT Is MSForms.OptionButton Then 'condition : si le contrôle est un bouton d'option
'envoie dans la plage nommée du même nom que le nom du contrôle (avec un "_" devant) de l'onglet D, "X" si le contrôle est allumé = [Vrai] ou rien si il est eteint = [Faux]
If CT.Value = True Then D.Range("_" & CT.Name).Value = "X" Else D.Range("_" & CT.Name).Value = ""
End If 'fin de la condition
Next CT 'prochaine contrôle de la boucle