Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 VBA: Extraction de la date dans Timestamp pour comparer

VBA_dev_Anne_Marie

XLDnaute Occasionnel
Bonjour,

Je souhaite comparer les dates comme :
VB:
ev1.D_EFFET>='" & Ma_date & "'
mais la date ev1.D_EFFET est alimentée avec un timestamp :
et Ma_date est au format dd/mm/yyyyy.

Est-ce que vous connaissez une fonction vba pour avoir juste la date du timestamp ?

Merci beaucoup pour votre aide !
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @VBA_dev_Anne_Marie , @Hasco ,

Voir les formules en B2, C2, D2 et E2 à recopier verts le bas.

Dans les formules, le terme {"JAN"."FEV"."MAR"."AVR"."MAI"."JUN"."JUL"."AOU"."SEP"."OCT"."NOV"."DEC"} est à adapter en fonction de vos propres abréviations des mois.
 

Pièces jointes

  • VBA_dev_Anne_Marie- Date Heure- v1.xlsx
    12.4 KB · Affichages: 1
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Sinon en VBA, une piste avec une fonction VBA utilisable en VBA ou dans une feuille de calcul.
La constante est à adapter selon vos propres abréviations des mois:
VB:
Function TexteEnDate(ByVal x As String)
Const moisTexte = "JAN FEV MAR AVR MAI JUN JUL AOU AOUT SEP OCT NOV DEC"
Dim res As Date, i&, m, t1

   m = Mid(x, 3, 3): t1 = Split(moisTexte)
   For i = 0 To UBound(t1)
      If t1(i) = m Then Exit For
   Next i
   If i = UBound(t1) + 1 Then GoTo ERREUR
   On Error GoTo ERREUR
   res = DateSerial(Mid(x, 6, 4), i + 1, Left(x, 2))
   res = res + TimeSerial(Mid(x, 11, 2), Mid(x, 14, 2), Mid(x, 17, 2))
   TexteEnDate = res
   Exit Function

ERREUR:
   TexteEnDate = CVErr(xlErrNA)
End Function
 

Discussions similaires

Réponses
2
Affichages
456
Réponses
15
Affichages
244
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…