Public Sub Transfert()
Dim Tablo As Variant, Lig As Integer
Nbjour = Sheets("Liste").Range("E2").Value
Nbbene = Sheets("Liste").Range("B2").Value
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
'Création d'un tableau en mémoire avec les données de la feuille "Mois"
Tablo = Sheets("Mois").Range("A4:BK52")
'Création d'une liste indexée des noms avec le numéros de ligne correspondants
Set Noms = New Collection
With Sheets("Liste")
For O = 7 To Nbbene + 6
Noms.Add O, .Cells(O, 3)
Range(.Cells(O, 6), .Cells(O, 36)).ClearContents
Next O
End With
On Error Resume Next
For B = 1 To Nbjour
For M = 1 To 49
Err.Clear
If Tablo(M, 2 * B) <> "" Then
Lig = Noms(Tablo(M, 2 * B))
If Err.Number = 0 Then Sheets("Liste").Cells(Lig, 5 + B) = Sheets("Liste").Cells(Lig, 5 + B) + Tablo(M, 2 * B + 1)
End If
Next M
Next B
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub