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 32 33 34 35 36 37 38 39 40
| Sub SeparationQ()
Dim i As Long
Columns("D:D").Insert Shift:=xlToRight 'insertion d'une colonne
i = 1
Do While (i < 1520)
'suppression d'une cellule vide et remontée des données (***)
Range("A" & i).Delete Shift:=xlUp
'copie des données en E2:E22 en F1, les données de Q2
Range(Cells(i + 1, "E"), Cells(i + 21, "E")).Copy Range("F" & i)
'suppression des cellules copiées
Range(Cells(i + 1, "E"), Cells(i + 21, "E")).ClearContents
'idem avec C2:C22 en D1, copie des données de Q1 (+++)
Range(Cells(i + 1, "C"), Cells(i + 21, "C")).Copy Range("D" & i)
Range(Cells(i + 1, "C"), Cells(i + 21, "C")).ClearContents
'glisser les données de B1 jusqu'en B21, copie de STA sur la colonne
Range("B" & i).AutoFill Destination:=Range("B" & i & ":B" & i + 20) ', Type:=xlFillDefault
'Copie de la cellule C1 et coller de C2 à C21, copie de "Q1" sur la colonne (***)
Range("C" & i).Copy Range("C" & i + 1 & ":C" & i + 20)
'idem avec E1 en E2:E21 idem avec Q2
Range("E" & i).Copy Range("E" & i + 1 & ":E" & i + 20)
'copie de toutes les données fraichement manipulées
Range("A" & i & ":F" & i + 20).Copy
'et je les colle en A22 avec insertion et décalge des cellules vers le bas
Range("A" & i + 21).Insert Shift:=xlDown
'suppression les données en E1:F21, des données de Q2 (il me reste celle de Q1)
Range("E" & i & ":F" & i + 20).ClearContents
'suppression en C22:D42, les données de Q1 (il me reste celle de Q2)
Range("C" & i + 21 & ":D" & i + 41).Delete Shift:=xlToLeft
'suppression de la ligne 43, ligne vide en dessous
Rows(i + 42 & ":" & i + 42).Delete Shift:=xlUp
'copie des heures
Range("A" & i & ":A" & i + 20).Copy Range("A" & i + 21)
i = i + 42
Loop
End Sub |
Partager