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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| 'Copie des données de la tranche x à la feuille x+3
Dim wS As Worksheet 'Feuille source
Dim wD As Worksheet 'Feuille destination
'Affecte les feuilles sources/destination (de la copie)
Set wS = Sheets("Feuil3")
For t = 1 To NbTr
Set wD = Sheets("Feuil" & 3 + t)
J = 1
'Determine derniere ligne fichier source
Derlig = wS.Cells(65535, 5).End(xlUp).Row 'Derniére ligne rempli colonne 5 fichier source
If Derlig < 2 Then
MsgBox "Aucune données ", vbCritical
Exit Sub
End If
' Boucle sur lignes fichier source
For I = 2 To Derlig
If wS.Cells(I, 2) = Secteur And wS.Cells(I, 5) = t Then
'Copie ...
wD.Rows(J).Value = wS.Rows(I).Value
J = J + 1
End If
Next I
Set wD = Nothing
Next t
'balayage des lignes et comptage des avions concernés
Dim Avion As String
Dim sector As String
Dim Tim As Integer
Dim Head As Integer
J = 0
I = 1
Sheets("Feuil2").Cells.ClearContents
Avion = Range(Cells(I, 1), Cells(I, 1)).Value
sector = Range(Cells(I, 2), Cells(I, 2)).Value
Tim = Range(Cells(I, 3), Cells(I, 3)).Value
Head = Range(Cells(I, 4), Cells(I, 4)).Value
Do While Cells(I, 1).Value <> ""
If Cells(I, 1).Value <> Avion Then
J = J + 1
Sheets("Feuil2").Cells(J, 1).Value = Avion
Sheets("Feuil2").Cells(J, 2).Value = sector
Sheets("Feuil2").Cells(J, 3).Value = Tim
Sheets("Feuil2").Cells(J, 4).Value = Head
Avion = Cells(I, 1).Value
sector = Cells(I, 2).Value
Tim = Cells(I, 3).Value
Head = Cells(I, 4).Value
End If
I = I + 1
Loop
J = J + 1
Sheets("Feuil2").Cells(J, 1).Value = Avion
Sheets("Feuil2").Cells(J, 2).Value = sector
Sheets("Feuil2").Cells(J, 3).Value = Tim
Sheets("Feuil2").Cells(J, 4).Value = Head
Application.ScreenUpdating = True |
Partager