Datediff erreur

cs_Dark Revan
Messages postés
23
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
15 avril 2006
- 5 août 2005 à 19:49
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
- 5 août 2005 à 21:43
J'utilise la fonction Datediff et elle marche très bien sauf lorsque certains nombres arrivent.



Temps = DateDiff("n", 0, "0:" & Minute)



Minute est une variable en string qui contient par exemple 15:00 pour
15 minutes. Tout se passe très bien pour 15:00, 30:00, 45:00,
mais un de mes nombres est 1035:00 et VB me dit : Incompatibilité de
type... et je me demande pourquoi puisqu'il est écrit comme les
autres...

4 réponses

cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
79
5 août 2005 à 20:01
Salut
Fait attention de ne jamais utiliser de variable dont le nom est une fonction de VB (Minute).
Ajoute qqchose devant pour éviter cette confusion : exemple : xMinute.

D'autre part, que représente le premier 0 ?
Les paramètres 2 et 3 doivent être des dates au format date
Pour représenter la date et l'heure actuelle, utilise Now ou Date ou Time.

En fait, tu veux faire quoi ?
Calculer une nouvelle date en y retranchant/ajoutant des minutes ? ---> DateAdd
parce que là, tu calcules le nombre de minutes entre deux dates et ta manière de procéder à l'air de vouloir dire que tu connais l'heure de fin, alors je ne vois pas trop ce que tu veux faire.

Explique mieux (et regarde l'aide de VB)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
(je
0
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
5 août 2005 à 20:10
ça représente quoi "1035:00" 10h35m0s ou 1035 minutes ???
pourquoi tu fait DateDiff avec 0

et évite d'appeler ta zone Minute c'est un mot réservé





Minutes = "1035:00"

temps = Left$(Minutes, Len(Minutes) - 3)


Daniel
0
cs_Dark Revan
Messages postés
23
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
15 avril 2006

5 août 2005 à 21:38
Le 0 ne représente rien, je ne voulais que tester la fonction avec
divers nombres. Je vais changer ma variable "minute" et retenter
de le faire. Je veux calculer l'écart entre des heures, minutes,
dates et autres.



Gobillot : Ça représente 1035 minutes.



Le problème est réglé puisque j'ai procédé d'une façon différente. Merci de votre aide !
0
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
5 août 2005 à 21:43
dans TmeSerial ça passe:









Dim temps As Date



temps = TimeSerial(0, 1035, 0)

MsgBox temps


Daniel
0