Format Date non valide

Bonjour,

Rien de plus simple que trier des catégories d'âge avec les dates de naissance. Sauf qu'elles doivent être saisies sur un format date, par exemple jj/mm/aaaa.

Mon problème est que dans le fichier de base (que je ne peux pas faire changer), elles sont sous la forme aaaa-mm-jj. Impossible de trier.

Pourrait-on créer une macro qui passerait la colonne des dates en revue pour les mettre au format correct ?

Merci

Bonsoir le forum

Bonsoir Yves28

A essayer :

Sub Change_Date()

Columns("A:A").Select    'A adapter
Selection.NumberFormat = "dd/mm/yyyy "

End Sub

Bonjour le fil

@Yves28 je pense que vous ne nous dites pas tout
Pourquoi ne pourriez-vous pas trier des dates au format "aaaa-mm-jj", je ne vois pas ou est le problème ?

A+

Bonjour,

En fait, les dates telles que je les récupère sur le fichier initial sont au format TEXTE. Et on a beau essayer de changer en format DATE, ça reste du texte.

J'ai mis plusieurs dates dans une colonne, l'opération de tri croissant ou décroissant ne fait rien bouger.

Merci quand même BrunoM45 et Ericcool02 pour vos participations

RE le fil

Convertir un string en date :

L'exemple ci-dessous utilise la fonction CDate pour convertir une chaîne en date. En général, l'utilisation de chaînes pour stocker des dates et des heures (comme dans cet exemple) n'est pas recommandée. Utilisez des littéraux date et heure (comme #19/10/1962#, #16:45:23#).

MyDate = "19 octobre 1962" ' Définit la date.
MyShortDate = CDate(MyDate) ' Convertit en type de données Date.
MyTime = "16:35:47" ' Définit l'heure.
MyShortTime = CDate(MyTime) ' Convertit en type de données Date

© 2001 Microsoft Corporation. Tous droits réservés.

Un ti fichier est toujours le bienvenu pour "travailler"
@+

Merci Ericcool02, mais je ne comprends pas comment appliquer ces définitions à mon problème.

Je joins un petit fichier Excel pour essayer de me faire mieux comprendre.

28format-date.xlsx (9.38 Ko)

Comme j'aurai environ 200 dates à convertir, j'aimerais que ça se fasse au moyen d'une macro.

Sinon il faudra que je le fasse manuellement

Bonjour à tous,

La fonction DATEVAL devrait solutionner votre problème. Voir ici !

Bonjour le fil

Ceci devrait t'aider :

Sub change_date()
With ActiveSheet.UsedRange.Columns("B").Cells
    .TextToColumns Destination:=.Cells(1), DataType:=xlFixedWidth, FieldInfo:=Array(0, xlYMDFormat)
    .NumberFormat = "dd/mm/yyyy"    
End With
End Sub

Bonjour...

et ainsi ?

tri fausses dates

Bonjour,

Sélectionner la colonne contenant les dates, puis :

Données > Convertir, suivant, suivant, date AMJ, terminé.

A+

EXCELLENTISSIME !!!!

Merci à tous !

Rechercher des sujets similaires à "format date valide"