MACRO - Chasser les dates de ma colonne et changer leur format

Bonjour cher forum

J'ai un tableau sur lequel j'ai des dates au format dd/mm/yy mais avec l'heure à côté (exemple : 12/10/21 0:00)

image

J'essaie de construire une petite macro qui va repérer toutes les dates en format dd/mm/yy HEURES pour les remettre en dd/mm/yy tout simplement et sans supprimer tout ce qui n'est pas date (dans notre exemple les lignes grisées et CPO+4), ce qui donnerait idéalement :

image

Je vous remercie par avance pour toute aide à ce sujet ! Bonne journée à vous !

Bonjour,

Sub traiter()
    Dim datas, lig As Long
    datas = [A1].Resize(Cells(Rows.Count, 1).End(xlUp).Row).Value
    For lig = 2 To UBound(datas)
        If IsDate(datas(lig, 1)) Then datas(lig, 1) = Int(datas(lig, 1))
    Next lig
    [A1].Resize(UBound(datas)) = datas
    Columns("A:A").NumberFormat = "m/d/yyyy"
End Sub

eric

Bonjour Eric, un grand merci pour ton aide précieuse. Cela fonctionne très bien.

J'avais une dernière question et je ne me vois pas recréer un sujet pour si peu. Quand j'utilise un CDate(valeur) comment puis je préciser le format que je veux pour ce CDate (dans mon cas dd/mm/yy). Peut-être que ce n'est pas possible.

Bien à vous

Temprano

Je ne comprend pas bien ta question.

CDate() sert à convertir une expression de date valide en date numérique.
Par exemple texte en date : d = CDate("15 février 2010") qui te donne le 15/02/2010.

Si ta date est déjà numérique, le format voulu est à mettre sur la cellule.
Voir .NumberFormat que j'ai utilisé dans le sub

Tu peux la convertir en texte avec format() : MsgBox Format(ta_date_numérique, "dd/mm/yy")
Mais ce n'est plus une date, c'est du texte. Pour un textbox par exemple.
eric

Bien compris, je n'avais pas bien saisi le fonction de CDate. Merci à toi !

Rechercher des sujets similaires à "macro chasser dates colonne changer leur format"