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
|
Sub MaMacro()
Dim laDate As String, CelDate As Range ', lgn As Long
Dim leSuivi As String, KW As String
leSuivi = ActiveWorkbook.Name
With Worksheets("suivi jour")
.Range("A1:A368").Select
laDate = Range("A3").End(xlDown).Value
ligne = Range("A400").End(xlUp).Row
End With
'ouverture kw
kwPath = ThisWorkbook.Path & "/" & "kw.xls"
Workbooks.Open Filename:=kwPath, CorruptLoad:=XlCorruptLoad.xlRepairFile
KW = ActiveWorkbook.Name
With Worksheets("Récupéré_Feuil1")
Sheets("Récupéré_Feuil1").Select
Set CelDate = .Range("A1:A45").Find(laDate, LookIn:=xlValues)
.Range("A5:A38").Select
laFin = Range("A5").End(xlDown).Row
If CelDate Is Nothing Then
MsgBox ("Aucune donnée à extraire")
Exit Sub
Else
llaDate = CelDate.Row + 1
End If
End With
'Réorganisation des données dans le classeur KW avant la copie vers SUIVI
Range(Cells(llaDate, 1), Cells(laFin, 2)).Copy
Cells(60, 1).Select
ActiveCell.PasteSpecial Paste:=xlPasteValues
Range(Cells(llaDate, 8), Cells(laFin, 12)).Copy
Cells(60, 3).Select
ActiveCell.PasteSpecial Paste:=xlPasteValues
laNif = 60 - llaDate + laFin
Range(Cells(60, 1), Cells(laNif, 7)).Copy
Workbooks(leSuivi).Activate
Worksheets("suivi jour").Activate
Cells(ligne + 1, 1).Select 'OK
ActiveCell.PasteSpecial Paste:=xlPasteValues 'OK
'Conversion des String en valeurs numériques et valeurs positives ou nulles
Call Convert(ligne + 1, ligne + 1 - llaDate + laFin)
Workbooks(KW).Activate
'Vidage du le presse papier et fermeture de KW
Range("A1").Copy
ActiveWorkbook.Close SaveChanges:=False
End Sub |
Partager