J'ai modifié le code sur UserForm1 et UserForm4 pour coller des X (croix) dans la feuille résultat 'Juin' avec toutes les entêtes de colonnes d'un ou des deux Formulaires (là c'est fonctionnel).
il reste à modifier le UserForm_Initialise pour ajouter automatiquement toutes les colonnes dans la feuille résultat (du mois) avec les libellés des checkbox.
Private Sub CommandButton1_Click()
Dim tabDonnées As Variant
Dim Onglet As Worksheet
Dim derLi As Integer
Dim donnees As String
Dim c 'for checkbox
donnees = TextBox1.Value + "¤" + ComboBox2.Value + "¤" + ComboBox3.Value + "¤" + TextBox4 + "¤" + ComboBox4.Value & Chr(10) & ComboBox5
tabDonnées = Split(donnees, "¤")
Dim mAllChecked As String
mAllChecked = ""
For Each c In UserForm1.Controls
If LCase(TypeName(c)) = "checkbox" Then
If c.Value Then
mAllChecked = mAllChecked + c.Caption + "¤"
End If
End If
NextSet Onglet = Sheets(Format(CDate(TextBox1), "mmmm"))
derLi = Onglet.Columns(1).Find("*", , , , , xlPrevious).Row + 1
Onglet.Range("A" & derLi & ":" & lettreFin & derLi).Value = tabDonnées
Dim tabChecked() As String
ReDim tabChecked(0)
Dim PlageDeRecherche, trouve
Dim i, col
tabChecked() = Split(mAllChecked, "¤")
For i = 1 To UBound(tabChecked)
Set PlageDeRecherche = Onglet.Rows(1)
Set trouve = PlageDeRecherche.Range("1:1").Find(What:=tabChecked(i), LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext)
If Not trouve Is Nothing Then
Onglet.Range(Mid(trouve.Address, 1, InStr(2, trouve.Address, "$") - 1) & "$" & derLi) = "X"
End If
Next
Unload Me
End Sub