Bonjour à tous,
une proposition de macro qui fonctionne si n'y a pas plus de 6 classes par prof
Sub ChargeProf()
Dim T, Dico, i As Long, j As Integer, k As Integer
Set Dico = CreateObject("Scripting.Dictionary")
With Worksheets("Feuil1")
T = .Range("D4:AQ" & .Range("A" & Rows.Count).End(xlUp).Row)
For i = LBound(T, 1) To UBound(T, 1)
k = 0
For j = LBound(T, 2) To UBound(T, 2)
If T(i, j) <> "" Then Dico(T(i, j)) = Dico(T(i, j)) + 1
Next
If Dico.Count > 0 Then
For Each clé In Dico.keys
k = k + 1
.Cells(i + 3, 43 + k) = clé 'copie classe à partir de colonne AR
.Cells(i + 3, 49 + k) = Dico(clé) 'copie heures par classe à partir de colonne AX
Next
End If
Dico.RemoveAll
Next
End With
End Sub
A+