AJOUT OU RETRANCHER 1 AN à UNE DATE

Bonjour à toutes & tous,

j'ai besoin dans le cadre d'un travail d'ajouter/retrancher une année aux dates de la colonne "D" afin de les insérer sur une nouvelle feuille (sans modifier les données "AAA", "BBB", etc etc....

J'ai bidouillé une formule vba mais le souci est que dès que je clique que le label ajout, la date du 1er janvier devient

le 2 janvier et ainsi de suite.

Quelqu'un a-t il une idée ?

Merci

13classeur1.xlsm (37.91 Ko)

Bonjour,

Utilise DateSerial() !

Pour ajouter une année :

Cel.Offset(0, -4).Value = DateSerial(Year(Cel.Value) + 1, Month(Cel.Value), Day(Cel.Value))

et donc, pour retrancher une année :

Cel.Offset(0, -4).Value = DateSerial(Year(Cel.Value) - 1, Month(Cel.Value), Day(Cel.Value))

bonjour Theze,

et merci tout d'abord de ta réponse si rapide.

Par contre chez moi ça ne fonctionne pas. En effet, dès que je clique que le label, cela me marque "FAUX" sur toutes les

valeurs des colonnes "D" et "H"

??

Re,

Voici tes deux Sub modifiées et qui fonctionne chez moi sur ton classeur :

Sub Nouvelle_année_janvier()

    Dim Cel As Range

    For Each Cel In Range("H1:H29")
        If Cel.Value <> "" Then Cel.Offset(0, -4).Value = DateSerial(Year(Cel.Value) + 1, Month(Cel.Value), Day(Cel.Value))
    Next Cel

    Range("H1:H20").Value = Range("D1:D20").Value

End Sub

Sub Ancienne_année_janvier()

    Dim Cel As Range

    For Each Cel In Range("H1:H29")
        If Cel <> "" Then Cel.Offset(0, -4).Value = DateSerial(Year(Cel.Value) - 1, Month(Cel.Value), Day(Cel.Value))
    Next Cel

    Range("H1:H20").Value = Range("D1:D20").Value

End Sub

j'ai fait un copié/collé de ta réponse et ô miracle ça marche....

mille mercis

Alors c'est parfait !

Rechercher des sujets similaires à "ajout retrancher date"