IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Calcul difference entre 2 dates et 2 heures sur 4 champs [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 106
    Points : 271
    Points
    271
    Par défaut Calcul difference entre 2 dates et 2 heures sur 4 champs
    Bonjour à tous,

    J'essaye de calculer la différence en minutes existante entre 2 dates et 2 heures réparties sur 4 champs avec ce code, mais il apparait une "incompatibilité de type" en pointant la ligne "nbMinutes=Datediff ..."

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Public Sub DureeMinutes()
     
    Dim H1 As Date
    Dim H2 As Date
    Dim D1 As Date
    Dim D2 As Date
    Dim NbMinutes As Long
     
    H1 = CDate(Me.RVHeure)
    H2 = CDate(Me.HeureFinRDV)
    D1 = CDate(Me.RVDate)
    D2 = CDate(Me.DateFinRDV)
     
    If Not IsNull(Me.RVDate) And Not IsNull(Me.RVHeure) And Not IsNull(Me.DateFinRDV) And Not IsNull(Me.HeureFinRDV) Then
     
    NbMinutes = DateDiff("n", Format(D1, "d/m/yyyy") & " " & H1, Format(D2, "d/m/yyyy") & " " & H2)
    Me.RVDurée = NbMinutes
     
    Else
    Exit Sub
    End If
    Debug.Print NbMinutes
     
    End Sub
    Apparement les champs "Date" continuent à prendre en compte les heures malgré le format et le champ H2 qui est pourtant formatté en "heure abrégé" montre une date + heure entières dans la fenêtre de code... Pourquoi ?

    Merci d'avance

  2. #2
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 106
    Points : 271
    Points
    271
    Par défaut
    J'ai trouvé : il fallait utiliser datevalue / timevalue !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Public Sub DureeMinutes()
     
    Dim H1 As Date
    Dim H2 As Date
    Dim D1 As Date
    Dim D2 As Date
    Dim NbMinutes As Long
     
    H1 = TimeValue(Me.RVHeure)
    H2 = TimeValue(Me.HeureFinRDV)
    D1 = DateValue(Me.RVDate)
    D2 = DateValue(Me.DateFinRDV)
     
    If Not IsNull(Me.RVDate) And Not IsNull(Me.RVHeure) And Not IsNull(Me.DateFinRDV) And Not IsNull(Me.HeureFinRDV) Then
     
    NbMinutes = DateDiff("n", D1 & " " & H1, D2 & " " & H2)
    Me.RVDurée = NbMinutes
     
    Else
    Exit Sub
    End If
    Debug.Print NbMinutes
     
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] calcul difference entre 2 dates et heures
    Par rene10 dans le forum IHM
    Réponses: 1
    Dernier message: 27/08/2009, 16h51
  2. calcul difference entre deux dates
    Par bambino13 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/06/2009, 10h01
  3. difference entre 2 dates et heures
    Par docjo dans le forum VBA Access
    Réponses: 2
    Dernier message: 22/07/2008, 23h20
  4. Valeur calculée difference entre deux dates #NOMBRE!
    Par gracouille dans le forum SharePoint
    Réponses: 3
    Dernier message: 13/06/2008, 11h59
  5. [VBA] Calculer la différence entre deux dates
    Par T'chab dans le forum Access
    Réponses: 13
    Dernier message: 11/05/2006, 15h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo