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
|
Sub tri()
Dim l As Integer
Dim i As Integer
Dim WBSource As Workbook, WBDest As Workbook
Dim DerniereLigne As Integer
DerniereLigne = Range("D50").CurrentRegion.End(xlDown).Row
Set WBSource = Workbooks("SUIVI")
Set WBDest = Workbooks("presta1")
Set WBDest1 = Workbooks("presta2")
'sauvegarde une copie avec la date de l'execution
ActiveWorkbook.SaveAs Filename:=suivi_
"chemin\suivi" & Date & ".xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
For l = 1 To DerniereLigne
'balayage de toute ligne de 1 à 50
If (ActiveSheet.Cells(l, D) = "presta1") And (ActiveSheet.Cells(l, E) = "erreur") Then
'test si la cellule lD = presta1 et si la cellule lE = erreur
'alors faire ceci
i = WBDest.Worksheets(1).Range("A65536").End(xlUp).Row + 1
'cherche une ligne vide dans WBdest
'copie la ligne l sur fichier destinataire
WBSource.Worksheets(1).Rows(l).Copy _
Destination:=WBDest.Worksheets(1).Cells(i, 1)
'suprime la ligne de la source
WBSource.Worksheets(1).Rows(l).Delete
end if
If (ActiveSheet.Cells(l, D) = "presta2") And (ActiveSheet.Cells(l, E) = "erreur") Then
'test si la cellule lD = presta2 et si la cellule lE = erreur
'alors faire ceci
i = WBDest1.Worksheets(1).Range("A65536").End(xlUp).Row + 1
'cherche une ligne vide dans WBdest1
'copie la ligne l sur fichier destinataire
WBSource.Worksheets(1).Rows(l).Copy _
Destination:=WBDest1.Worksheets(1).Cells(i, 1)
'suprime la ligne de la source
WBSource.Worksheets(1).Rows(l).Delete
end if
Next l
End Sub |
Partager