remplacer date de naissance par année de naissance

Blafi

XLDnaute Occasionnel
Bonjour à tous,

Malgré mes recherches sur le forum je n'ai pas trouvé la solution à mon problème, tout ce que j'essaye en me basant sur les solutions proposées me provoque une erreur que je ne sais analyser...

Voilà : dans la colonne A j'ai une liste de date de naissance (jj/mm/aa). Je désire remplacer ces dates de naissances, donc dans la même cellule, par l'année de naissance, le tout en VBA. J'arrive bien à extraire l'année grace à an=year(activecell) mais lorsque j'essaye d'insérer le résultat (activecell.value=An ou avec une formule en faisant copy puis paste sur la même cellule)j'obtiens systématiquement une date complète de l'année 1905 (genre 01/11/1905, la même pour toutes les cellules..).

Comment puis-je faire cette opération ?

Merci de votre aide et à bientot...
 

Fred0o

XLDnaute Barbatruc
Re : remplacer date de naissance par année de naissance

Bonsoir Blafi,

Voici un code conçu pour une plage de dates de [A1] à [A4]. A adapter à ton fichier :
VB:
Sub Test2()
    Dim i As Integer
    For i = 1 To 4
        Cells(i, 1) = Year(Cells(i, 1))
        Cells(i, 1).NumberFormat = "General"
    Next
End Sub

A+
 

Blafi

XLDnaute Occasionnel
Re : remplacer date de naissance par année de naissance

Bonjour à tous,

Merci Fred0o pour la réponse.
Entre temps j'avais trouvé une solution qui marche en faisant (mes dates étant dans la colonne H sur une longueur non connue d'avance):


Public Sub CalculerAnNaiss()

Fi = ActiveSheet.Range("H65536").End(xlUp).Row
Range("H3:H" & Fi).Select
For Each cece In Selection
An = Year(cece)
cece.Select
Selection.Value = An
Selection.NumberFormat = ("0")
Next
End Sub
 

Discussions similaires

Réponses
14
Affichages
537

Statistiques des forums

Discussions
312 230
Messages
2 086 427
Membres
103 207
dernier inscrit
Michel67