Bonjour,
A tester.
Private Sub traiterCSV()
Dim st As String
Dim dernLigne As Long
st = selectSheet("Quelle période traiter?")
If st = "" Then Exit Sub
If MsgBox("Ajouter les données de " & _
Format(Workbooks(ceFichier).Worksheets("DATA_TR").Cells(1, 1).Value, "mmmm yyyy") & _
" sur la feuille """ & st & """?" & vbCrLf & _
"ATTENTION : Cela remplacera toutes les données présentes dans les colonnes RTT, Maladies, CP et Absences.", _
vbYesNo) <> vbYes Then Exit Sub
' - - -
' ceFichier = ActiveWorkbook.name
' - - -
With Workbooks(ceFichier).Worksheets(st)
dernLigne = .Range("A" & .Rows.Count).End(xlUp).Row
.Range("K4").FormulaR1C1 = "=VLOOKUP(RC[-7],DATA_TR!R2C10:R2000C56,20,FALSE)"
.Range("L4").FormulaR1C1 = "=-VLOOKUP(RC[-8],DATA_TR!R2C10:R2000C56,23,FALSE)"
.Range("M4").FormulaR1C1 = "=VLOOKUP(RC[-9],DATA_TR!R2C10:R2000C56,26,FALSE)-VLOOKUP(RC[-9],DATA_TR!R2C10:R2000C56,29,FALSE)"
.Range("N4").FormulaR1C1 = "=-VLOOKUP(RC[-10],DATA_TR!R2C10:R2000C56,32,FALSE)"
.Range("K4:N4").Copy
.Range("K5:N" & dernLigne).PasteSpecial Paste:=xlPasteAllExceptBorders
Application.CutCopyMode = False
End With
End Sub