Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Ajouter une année selon date dans cellule

  • Initiateur de la discussion Initiateur de la discussion Hulk
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Hulk

XLDnaute Barbatruc
Hello tout le monde 😀

Pas très explicite mon intitulé, mais j'ai joins un fichier avec les détails de ce que je désire.

En gros :

En A2 -> 07.02.2009
Je souhaiterais en B2 07.02.2010
C2 -> 07.02.2011
D2 -> 07.02.2012
Etc. jusqu'à colonne J

Voyez le fichier...

Merci pour votre aide et bon vendredi saint à tous !

Cdt, Hulk.
 

Pièces jointes

Re : Ajouter une année selon date dans cellule

bonjour Hulk,

formule à écrire en B2 et à tirer vers la droite :
=DATE(ANNEE(A2)+1;MOIS(A2);JOUR(A2))

bon vendredi saint à toi aussi 🙂

a+
 
Re : Ajouter une année selon date dans cellule

Hello,

Merci pour votre aide messieurs (dames ?), cependant je souhaitais une version macro 😀

Mais je garde tout de même vos solution 😀

Merci encore, Hulk.
 
Re : Ajouter une année selon date dans cellule

Bonjour Hulk, mromain, criscris,

La voilà :

Code:
Sub Ajout_date()
Dim c As Range, i As Byte
Range("B2:J65536").ClearContents
For Each c In Range("A2:A65536").SpecialCells(xlCellTypeConstants, 1)
For i = 1 To 9
c.Offset(0, i) = DateSerial(Year(c) + i, Month(c), Day(c))
Next
Next
End Sub

Edit : une solution voisine, tout dépend de ce qu'il y a en colonne A. J'utilise aussi les années de la ligne 1 :

Code:
Sub Ajout_date()
Dim c As Range, i As Byte
Range("B2:J65536").ClearContents
For Each c In Range("A2", Range("A65536").End(xlUp))
If IsDate(c) Then
For i = 1 To 9
c.Offset(0, i) = DateSerial(Range("A1").Offset(0, i), Month(c), Day(c))
Next
End If
Next
End Sub

A+
 
Dernière édition:
Re : Ajouter une année selon date dans cellule

re,
job, chris

une autre solution :
Code:
Sub Ajout_date()
Dim i As Integer, j As Integer
With ThisWorkbook.Sheets("Feuil1")
    For i = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
        For j = 2 To .Cells(1, .Columns.Count).End(xlToLeft).Column
            If IsDate(.Cells(i, 1).Value) Then .Cells(i, j).Value = DateAdd("yyyy", j - 1, CDate(.Cells(i, 1).Value))
        Next j
    Next i
End With
End Sub

a+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
905
P
Réponses
3
Affichages
553
C
Réponses
20
Affichages
2 K
Cotriana
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…