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
|
Sub InsererMois()
Dim DerniereDate As Date
Dim NouvelleDate As Date
Dim Formula As String
Dim ListeMois
Dim Annee As String, Mois As String, Periode As String
Dim DerniereLigne As Long
ListeMois = Array("Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre")
Formula = "=VLOOKUP(A7,'M:\____DRIQ\DRI\ALTER\BV\{annee}\{mois}\[grid_details ({periode}).xlsx]PTF (pilotage EF360)'!$D$2:$I$600,6,FALSE)"
DerniereDate = Range("k6").Value
NouvelleDate = Application.EDate(DerniereDate, 1)
Annee = Format(NouvelleDate, "yyyy")
Mois = ListeMois(Month(NouvelleDate) - 1)
Periode = Format(NouvelleDate, "mm_yyyy")
DerniereLigne = Range("a1048576").End(xlUp).Row
RemplacerTexte Formula, Array("{annee}", Annee, "{mois}", Mois, "{periode}", Periode)
Range("k:k").Insert xlToRight
Range("k7:k" & DerniereLigne).Formula = Formula
Range("K6").Value = NouvelleDate
Range("k6").NumberFormat = "mmm-yy"
End Sub
Function RemplacerTexte(Texte As String, Remplacements) As String
Dim i As Long
For i = LBound(Remplacements) To UBound(Remplacements) Step 2
Texte = Replace(Texte, Remplacements(i), Remplacements(i + 1), , , vbTextCompare)
Next i
End Function |
Partager