Bonjour débutant75
Le code peut être modifié assez facilement en ce mettant en mode débogage (F9 sur une ligne) + F8 (pour avancer)
Voici le code rectifié
Sub attribution()
Dim NbCopy As Integer, NbLMax As Integer
NbCopy = 0
'On commence la copie à la ligne 15
Dim Start As Integer
Start = 15
'Départ de la Colonne D
Dim Col As Integer
Col = 4
'Nb lignes max première colonne
NbLMax = Cells(4, Col).Value
'Faire une boucle des lignes 5 à 12'
For l = 5 To 12
moteur = Cells(l, 1).Value
Nbfois = Cells(l, 3).Value - 1
'Boucle pour inscrire les données
For i = Start To Start + Nbfois
If NbCopy = NbLMax Then
Col = Col + 1
NbLMax = Cells(4, Col).Value
NbCopy = 0
End If
' Au cas ou la production = 0
If NbLMax = 0 Then
Col = Col + 1
NbLMax = Cells(4, Col).Value
NbCopy = 0
End If
NbCopy = NbCopy + 1
Cells(i, Col).Value = moteur
Next
' Inscrire la semaine ici
If moteur <> "" Then Cells(l, 2).Value = Cells(14, Col).Value
'On passe à la valeur suivante
Start = Nbfois + Start + 1
Next
End Sub
Edit : oups, bonjour H2so4
A+