1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Dim dl As Long, t0 As Range, t1 As Range, i As Long, d0 As Long, d1 As Long, k As Integer
Dim ou As Long, b As Long, c As String, q As String
dl = Range("A" & Rows.Count).End(xlUp).Row
Set t0 = Worksheets("Fiches dispositifs").Range("A1:U" & dl)
Set t1 = Worksheets("Resultat").Range("A1:U60000")
Worksheets("Resultat").Cells.ClearContents
For i = 1 To 6
t1(i) = t0(i)
Next
t1(7) = "Besoins": t1(8) = t0(21)
ou = 22: b = 21
For i = 22 To (WorksheetFunction.CountIf(t0, "x") + WorksheetFunction.CountIf(t0, "X") + 1) * 21
If LCase(t0(i)) = "x" Then
d0 = IIf(i Mod b = 0, b, i Mod b): q = t0(d0)
d1 = IIf(i Mod b = 0, (i - 1) \ b, 1 + (i \ b) * b)
c = t0(d1): t1(ou) = c: t1(ou + 6) = q
For k = 1 To 5
t1(ou + k) = t0(d1 + k)
Next
t1(ou + 7) = t0(d1 + 20)
ou = ou + b
End If
Next |
Partager