Re,
l'inconnu est M12,
mais comme il y a rarement de remerciement sur ce forum, je reste incognito, comme cela je n'attends rien
Sub test()
Dim Lig%, Col%, Dc%, Dl%, Nb% 'Déclaration des variables
Dl = Range("A" & Rows.Count).End(xlUp).Row 'Derniére ligne non vide depuis la colonne A
Dc = Cells(1, Columns.Count).End(xlToLeft).Column 'Dernière colonne vide de la ligne 1
For Lig = 2 To Dl 'boucle de la ligne 2 à la dernière
Nb = 0 'compteur pour compter les "1"
For Col = 2 To Dc 'boucle sur les colonnes de 2 à la dernière
If Cells(Lig, Col) = 1 Then 'Si la cellule(ligne,colonne)=1 alors
Nb = Nb + 1 'j'ajoute 1 au compteur
Cells(Lig, 43) = Cells(1, Col + 1) 'la cellule de fin est alimentée par la ligne 1 et la colonne +1
Cells(Lig, 42) = Cells(1, Col + 1 - Nb) 'la cellule de début est alimenté par la ligne 1 et la colonne +1 mois le compteur de 1
End If
Next Col
Next Lig
End Sub