Bonjour tous le monde ,
Peut-on couper une date 30/07/2013 16:01 pour l'avoir comme ceci 30/07/2013
en VBA?
Merci d'avance
Version imprimable
Bonjour tous le monde ,
Peut-on couper une date 30/07/2013 16:01 pour l'avoir comme ceci 30/07/2013
en VBA?
Merci d'avance
Code:format(date,"dd/mm/yyyy")
Merci beaucoup
en faite je me suis mal exprimé,
j'ai une colonne D dont le format de la date est 30/07/2013 11:17 , la plage des dates commence à D2.
Mon but est de faire une macro qui remplace toutes les dates (30/07/2013 11:17 ) par 30/07/2013
Est ce possible ?
Désolé pour la mauvaise formulation sur mon post précédent
Merci d'avance
Bonjour thomhcv59
Tu peux extraire la partie date avec
Si tu voulais la partie heure, ce serait :Code:
1
2
3 valeur = Cells(i, "A").Value Cells(i, "A").Value = DateValue(CDate(valeur )))
Code:Cells(i, "A").Value = TimeValue(CDate(valeur )))
robert a répondu à ta question... il te suffit de changer ton format soit tu boucles et tu fais une macro et tu te galères soit tu cliques sur la colonne et tu changes le format.
Bonjour Docmarti,
Quand je lance ton code il me met une erreur
" erreur définie par l'application ou par l'objet "
i = 0 cells(0,"A") n'éxiste pas..
Bonjour,
s'il est vraiment nécessaire de tronquer les cellules de la colonne D en date sans heure, il y a une autre voie en gardant à l'esprit
le format date étant avant tout un nombre, la partie entière réservée à la date et la partie fractionnaire dévolue à l'heure :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 Sub Demo() Dim Cel As Range Application.ScreenUpdating = False For Each Cel In Range("D2:D" & Cells(Rows.Count, 4).End(xlUp).Row) If IsDate(Cel.Value) Then Cel.Value2 = Fix(Cel.Value2) Cel.NumberFormat = "dd/mm/yyyy" End If Next Application.ScreenUpdating = True End Sub
__________________________________________________________________________________________
Merci de cliquer sur :plusser: pour chaque message ayant aidé puis sur :resolu: pour clore cette discussion …
désolé si je ne donne pas vraiment l'impression de me préoccuper du problème, mais je n'est pas vraiment compris la finalité!
si il est question de présentation des dates aux format "dd/mm/yyyy", il y a l'enregistreur de macro qui le fera très bien.le fait en une seul passe!Code:Columns("d:d").NumberFormat = "dd/mm/yyyy"
si il est question de faire un traitement pour envoyer ces date dans une autre feuille intéressons nous à ce traitement car je ne comprends pas ce que nous orrions à dire de plus.
en revanche la macro de Marc-L répond bien à l'expression de besoin.
Merci Robert, c'est pour cela j'ai commencé par s'il est vraiment nécessaire …
Et si la plage de cellules concernées est exclusivement au format date avec des dates valides sans cellule vide,
j'ai en magasin plus rapide au lieu de scanner cellule par cellule …
__________________________________________________________________________________________
Question bien formulée, solution assurée ! (Robert Durupt)
Merci à tous pour vos réponses ca marche
Cordialement
Thomas