Calcul et affichage de dates dans un texte

Bonjour à tous,

A partir d'une date de début dans la cellule I4 (ex : 01/01/2013) et une date de fin dans la cellule J4(ex : 31/12/2018), j'ai besoin de l'affichage suivant :

cellule A13 : Période du 01/01/2013 au 31/12/2013

cellule A14 : Période du 01/01/2014 au 31/12/2014

cellule A15 : Période du 01/01/2015 au 31/12/2015

cellule A16 : Période du 01/01/2016 au 31/12/2016

et ainsi de suite jusqu'en 2018

Dans ma macro, le code suivant fonctionne :

ActiveCell.FormulaR1C1 = "Période du "&TEXTE(#I#4;"jj/mm/aaaa") &"au" &TEXTE($J$4;"jj/mm/aaaa")

' Range("A13").Select

' ActiveCell.FormulaR1C1 = "Période du "&TEXTE(MOIS.DECALER(#I#4;12);"jj/mm/aaaa") &"au" &TEXTE (MOIS;DECALER($J$4;12);"jj/mm/aaaa")

' Range("A14").Select

' ActiveCell.FormulaR1C1 = "Période du "&TEXTE(MOIS.DECALER(#I#4;24);"jj/mm/aaaa") &"au" &TEXTE (MOIS;DECALER($J$4;12);"jj/mm/aaaa")

' Range("A15").Select

' ActiveCell.FormulaR1C1 = "Période du "&TEXTE(MOIS.DECALER(#I#4;36);"jj/mm/aaaa") &"au" &TEXTE (MOIS;DECALER($J$4;12);"jj/mm/aaaa")

' Range("A16").Select

' ActiveCell.FormulaR1C1 = "Période du "&TEXTE(MOIS.DECALER(#I#4;42);"jj/mm/aaaa") &"au" &TEXTE (MOIS;DECALER($J$4;12);"jj/mm/aaaa")

Par contre, dans une petite appli VBA, cela ne fonctionne plus.

Pouvez-vous m'aider ?

D'avance merci

Bonjour,

Une première proposition.

10lovido-v1.xlsm (20.34 Ko)
Public Sub test()
Dim ws As Worksheet
Dim duree As Integer, debut As Integer
Dim lig As Long, i As Long
Dim txt As String

    Application.ScreenUpdating = False

    Set ws = ActiveSheet

    With ws
        If .[I4] = "" Or .[J4] = "" Or .[J4] < .[I4] Then
            MsgBox "Les dates ne sont pas valides.", 64
            End
        Else
            .Columns(1).Clear
            duree = Year(.[J4]) - Year(.[I4])
            lig = 13
            For i = 0 To duree
                debut = Year(.[I4]) + i
                .Cells(lig, 1) = "Période du 01/01/" & debut & " au 31/12/" & debut
                lig = lig + 1
            Next
        End If
    End With

    Set ws = Nothing

End Sub

Bonjour,

Une autre proposition

13lovido.xlsm (17.37 Ko)

A+

Rechercher des sujets similaires à "calcul affichage dates texte"