1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| Option Explicit
Sub Repartition()
Dim wBase As Worksheet, wL1 As Worksheet, wL2 As Worksheet
Dim kR As Long, kL As Long, kRd As Long
Set wBase = ActiveWorkbook.Worksheets("base")
Set wL1 = ActiveWorkbook.Worksheets("ligne1")
Set wL2 = ActiveWorkbook.Worksheets("ligne2")
kR = 4
wL1.Range("A4:O12").Clear '--- vide feuille ligne1
wL2.Range("A4:O12").Clear '--- vide feuille ligne2
With wBase
While .Cells(kR, 1) <> ""
kL = Val(.Cells(kR, 14)) '--- n° ligne
kRd = Val(Mid(.Cells(kR, 14), 3)) '--- n° ordre dans ligne
If kL = 1 Then
.Range(.Cells(kR, 1), .Cells(kR, 14)).Copy wL1.Cells(kRd + 3, 1)
If kRd = 1 Then wL1.Cells(kRd + 3, 9) = .Cells(4, 9) '--- heure démarrage
ElseIf kL = 2 Then
.Range(.Cells(kR, 1), .Cells(kR, 14)).Copy wL2.Cells(kRd + 3, 1)
If kRd = 1 Then wL2.Cells(kRd + 3, 9) = .Cells(4, 9) '--- heure démarrage
Else
MsgBox "Erreur: pas de ligne " & kL, , "Anomalie"
End If
kR = kR + 1
Wend
End With
Set wBase = Nothing
Set wL1 = Nothing
Set wL2 = Nothing
End Sub |
Partager