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
| Sub Transfert()
Dim fichierC As String
Dim fichierST As String
Application.ScreenUpdating = False
'Composer les noms de fichier (B5=2008)
fichierC = Worksheets("Parametres").Range("B13").Value & "Compilation" & Worksheets("Parametres").Range("B5").Value & ".xls"
fichierST = Worksheets("Parametres").Range("B13").Value & "SaisieTemps" & Worksheets("Parametres").Range("B5").Value & ".xls"
Workbooks.Open Filename:=fichierC
Windows(fichierST).Activate
'positionne le curseur à la première ligne non compilée
Range("CompilT").Select
Do While ActiveCell.Value = "Oui"
ActiveCell.Offset(1, 0).Select
Loop
Do While ActiveCell.Value = "Non"
If ActiveCell.Offset(0, -5) = "" Then GoTo vide
' activer le fichier Compilation et placer le curseur à la ligne suivante
Workbooks(fichierC).Worksheets("Temps").Activate
Range("A10000").Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
'Inscrire le nom de l'employé
ActiveCell.FormulaR1C1 = Workbooks(fichierST).Worksheets("Parametres").Range("B9")
ActiveCell.Offset(0, 1).Select 'positionne le curseur pour la prochaine donnée à coller
'copie les données d'une ligne dans le fichier Compilation
Windows(fichierST).Activate
Range(ActiveCell.Offset(0, -6), ActiveCell.Offset(0, -2)).Copy
Windows(fichierC).Activate
ActiveSheet.Paste
'copie le format de la ligne suivante
Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(1, 4)).Copy
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Windows(fichierST).Activate
Application.CutCopyMode = False
'inscrit que la ligne est compilée et se place à la ligne suivante
ActiveCell.FormulaR1C1 = "Oui"
' Protège la ligne transférée
Range(ActiveCell.Offset(0, -6), ActiveCell).Select
Selection.Locked = True
Selection.FormulaHidden = False
ActiveCell.Activate
vide:
ActiveCell.Offset(1, 0).Select
Loop
Workbooks(fichierC).Close SaveChanges:=True
End Sub |
Partager