Modifier l’année d'1 colonne contenant des dates

Bonjour à tous,

Je souhaite votre aide pour un résoudre un petit problème que j’ai du mal à lui trouver une solution.

J’ai un petit fichier Excel que j’ai créé en 2016, il contient une série de dates personnelles dont le format est jj-mm-yyyy, ces dates s’étalent de la cellule A2 jusqu’à la cellule A5000 voir plus.

Maintenant que nous somme en 2017 (Année en cours), j’aimerais avec votre soutien et avec un code vba de préférence, garder le jour et le mois de toutes ces cellules et ne remplacer que l’année 2016 par l’année en cours.

Merci d’avance de vos propositions.

57changeannee.zip (10.32 Ko)

Salut,

Sub changer_annee()

    Columns("A:A").Select
    Selection.Replace What:="2016", Replacement:="2017", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub

Salut Harzer, Nono,

une version qui tient compte, évidemment, des années bissextiles.

A coller dans le code du bouton de commande.

'
Dim tTab
'
iRow = Range("A" & Rows.Count).End(xlUp).Row
tTab = Range("A2:A" & iRow)
For x = 1 To UBound(tTab)
    iFlag = IIf(Year(tTab(x, 1)) Mod 4 = 0, 366, 365)
    tTab(x, 1) = tTab(x, 1) + iFlag
Next
Range("B2:B" & iRow) = tTab
'

A+

Bonsoir

le plus simple me semble t il, est d'utiliser la fonction remplacer,

sélectionner toutes les cellules à changer,

avec les touches ctrl+f

choisir l'onglet remplacer

et inscrire 2016 par 2017

et choisir remplacer tout.

Bonjour nono78, curulis57 et CB60.

Merci pour vos trois réponses.

Les deux premières réponses (de non78 et curulis57) me conviennent parfaitement car elles sont en vba et que je vais m’inspirer pour les mettre en applications dans un autre fichier Excel qui traite un peu près le même problème.

Pour information, j’ai juste modifié la dernière ligne de curulis57 comme suit afin qu’elle répond à mes attentes :

Au lieu de : Range("B2:B" & iRow) = tTab

J’ai mis : Range("A2:A" & iRow) = tTab

Merci à vous trois pour vos réponses.

Salutations.

Salut Harzer,

j'ai, évidemment, essayé la solution REPLACE que je trouvais fort pratique et compacte. J'ai cependant constaté que, en cas d'année bissextile, le remplacement pur et simple provoquait une erreur de 1 jour après le 28/2.

A contrôler avant de trouver une solution éventuelle avec REPLACE.

A+

Bonjour curulis57,

Merci pour la réponse complémentaire.

Si jamais une solution avec REPLACE est faisable, je suis prenant.

Salutations.

Bonjour à tous,

J'ai trouvé une autre solution qui fonctionne en cherchant l'année dans la colonne A, pour la remplacer par une autre année. je la propose au cas ou cela peut intéresser quelqu'1 d'autre.

Bien à vous.

Sub ChangerAnnee()

'rechercher l'année dans la colonne A:A et la remplacer par une autre année

Dim Mot As Variant

Dim Replace As Variant

Mot = InputBox("Quelle annnée souhaitez-vous modifier?", Title:="Recherche une Année - Format ""AAAA""")

If Mot = "" Then Exit Sub

Replace = InputBox("Par quelle année voulez vous la remplacer ?", Title:="Remplacer l'année trouvée")

If Replace = "" Then Exit Sub

Columns("A:A").Select

Selection.Replace What:=Mot, Replacement:=Replace

End Sub

Rechercher des sujets similaires à "modifier annee colonne contenant dates"