Niouzes.org  

Précédent   Niouzes.org > Forum > Newsgroup microsoft.public.fr.* 1 Forum > Newsgroup microsoft.public.fr.access
S'inscrire FAQ Membres Calendrier Recherche Messages du jour Marquer les forums comme lus



Réponse

 

LinkBack Outils de la discussion Modes d'affichage
  #1 (permalink)  
Vieux 22/07/2008, 22h18
JeanYves
 
Messages: n/a
Par défaut Controler si l'heure machine se situe dans une plage horaire déterminée

Bonjour,

Je voudrais déterminer si je suis dans la plage 'Heure de nuit' ou 'heure de
jour' en fonction de l'heure courante de l'ordinateur.

Ce que j'ai fait :

MyTime = Time

Debug.Print "Heure Courante " & MyTime

Select Case MyTime
Case Is > HDebut
Debug.Print "Heure de nuit le soir"
Case Is < HFin
Debug.Print "Heure de nuit le matin"
Case Else
Debug.Print "Heure de jour"
End Select
(HDebut et HFin proviennent d'une table parramètres)

Mon problème :
Cela fonctionne bien tant que l'heure de début est située le soir avant
minuit et si l'heure de fin est située le matin aprés minuit.
Si la plage change et devient par exemple 01:00 à 05:00 cela ne ne
fonctionnera pas.

L'idée est de faire 'Case HDebut to HFin' mais dans ce cas cela ne fontionne
pas si la plage est située sur 2 jours comme 23:00 à 05:00 par exemple

Avez vous l'astuce ? D'avance merci

J-Yves



Réponse avec citation
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Niouzes.org
Standard Sponsored Links

  #2 (permalink)  
Vieux 23/07/2008, 07h57
JeanYves
 
Messages: n/a
Par défaut Re: Controler si l'heure machine se situe dans une plage horaire déterminée

Merci FABIEN

J'ai adapté et cela fonctionne bien
Aprés le repas on a les idées + claires ;-)

*** Bientot

J-Yves
"JeanYves" <removetechnic***sdis70.fr> a écrit dans le message de news:
g66rte$lm2$1***s1.news.oleane.net...
>
> "Fabien" <UrbaniakFabienxxxx***Neuf.fr> a écrit dans le message de news:
> OunSHYK7IHA.3260***TK2MSFTNGP03.phx.gbl...
>> Fabien a écrit :
>>> JeanYves a écrit :
>>>> Bonjour,
>>>>
>>>> Je voudrais déterminer si je suis dans la plage 'Heure de nuit' ou
>>>> 'heure de jour' en fonction de l'heure courante de l'ordinateur.
>>>>
>>>> Ce que j'ai fait :
>>>>
>>>> MyTime = Time
>>>>
>>>> Debug.Print "Heure Courante " & MyTime
>>>>
>>>> Select Case MyTime
>>>> Case Is > HDebut
>>>> Debug.Print "Heure de nuit le soir"
>>>> Case Is < HFin
>>>> Debug.Print "Heure de nuit le matin"
>>>> Case Else
>>>> Debug.Print "Heure de jour"
>>>> End Select
>>>> (HDebut et HFin proviennent d'une table parramètres)
>>>>
>>>> Mon problème :
>>>> Cela fonctionne bien tant que l'heure de début est située le soir avant
>>>> minuit et si l'heure de fin est située le matin aprés minuit.
>>>> Si la plage change et devient par exemple 01:00 à 05:00 cela ne ne
>>>> fonctionnera pas.
>>>>
>>>> L'idée est de faire 'Case HDebut to HFin' mais dans ce cas cela ne
>>>> fontionne pas si la plage est située sur 2 jours comme 23:00 à 05:00
>>>> par exemple
>>>>
>>>> Avez vous l'astuce ? D'avance merci
>>>>
>>>> J-Yves
>>>>
>>>>
>>>>
>>> Salut J-Yves
>>> Avec quelque chose comme
>>> Public Function test_plage(hdeb As String, hfin As String, Htest As
>>> String) As Boolean
>>> 'Retourne Vrai si dans la plage
>>> Dim Hdebnum, HfinNum, HtestNum As Double
>>> Hdebnum = convert_tps_centieme(hdeb)
>>> HfinNum = convert_tps_centieme(hfin)
>>> HtestNum = convert_tps_centieme(Htest)
>>> If Hdebnum > HfinNum Then
>>> test_plage = HtestNum >= Hdebnum Or HtestNum <= HfinNum
>>> Else
>>> test_plage = HtestNum >= Hdebnum And HtestNum <= HfinNum
>>> End If
>>>
>>> End Function
>>>
>>> Public Function convert_tps_centieme(H As String) As Double
>>> convert_tps_centieme = Left(H, InStr(1, H, ":") - 1) + (Mid(H,
>>> InStr(1, H, ":") + 1) * 5 / 3) / 100
>>> End Function
>>>
>>> A tester bien sur ;-)
>>> ***+

>> Oups , c'est ok si les heures sont au format hh:mm ou h:mm
>> Time retournant du hh:mm:ss soit on tronque
>> MyTime=left(MyTime,len(MyTime)-3)
>>
>> Soit
>> Public Function convert_tps_centieme(H As String) As Double
>> convert_tps_centieme = Left(H, InStr(1, H, ":") - 1) + (Mid(H,
>> InStr(1, H, ":") + 1, 2) * 5 / 3) / 100
>> End Function

>
> Merci mais j'obtiens ces résultats qui ne sont pas systématiquement bon
>
> HTest 11:59:32 - Debut 01:00:01 - Fin 08:00:00
> TestNum 11,9833333333333 - DebNum 1 - FinNum 8
> Cas Hors plage
> Ok
>
> HTest 11:58:50 - Debut 23:00:01 - Fin 08:00:00
> TestNum 11,9666666666667 - DebNum 23 - FinNum 8
> Cas Dans la plage
> Pas bon
>
> HTest 01:56:58 - Debut 23:00:01 - Fin 08:00:00
> TestNum 1,93333333333333 - DebNum 23 - FinNum 8
> Cas DAns la plage
> Ok
>
> HTest 01:55:47 - Debut 01:00:01 - Fin 08:00:00
> TestNum 1,91666666666667 - DebNum 1 - FinNum 8
> Cas Hors plage
>
> Pas bon
>
> ***+
>
> JY
>



Réponse avec citation
  #3 (permalink)  
Vieux 23/07/2008, 10h09
JeanYves
 
Messages: n/a
Par défaut Re: Controler si l'heure machine se situe dans une plage horaire déterminée


"Fabien" <UrbaniakFabienxxxx***Neuf.fr> a écrit dans le message de news:
OunSHYK7IHA.3260***TK2MSFTNGP03.phx.gbl...
> Fabien a écrit :
>> JeanYves a écrit :
>>> Bonjour,
>>>
>>> Je voudrais déterminer si je suis dans la plage 'Heure de nuit' ou
>>> 'heure de jour' en fonction de l'heure courante de l'ordinateur.
>>>
>>> Ce que j'ai fait :
>>>
>>> MyTime = Time
>>>
>>> Debug.Print "Heure Courante " & MyTime
>>>
>>> Select Case MyTime
>>> Case Is > HDebut
>>> Debug.Print "Heure de nuit le soir"
>>> Case Is < HFin
>>> Debug.Print "Heure de nuit le matin"
>>> Case Else
>>> Debug.Print "Heure de jour"
>>> End Select
>>> (HDebut et HFin proviennent d'une table parramètres)
>>>
>>> Mon problème :
>>> Cela fonctionne bien tant que l'heure de début est située le soir avant
>>> minuit et si l'heure de fin est située le matin aprés minuit.
>>> Si la plage change et devient par exemple 01:00 à 05:00 cela ne ne
>>> fonctionnera pas.
>>>
>>> L'idée est de faire 'Case HDebut to HFin' mais dans ce cas cela ne
>>> fontionne pas si la plage est située sur 2 jours comme 23:00 à 05:00 par
>>> exemple
>>>
>>> Avez vous l'astuce ? D'avance merci
>>>
>>> J-Yves
>>>
>>>
>>>

>> Salut J-Yves
>> Avec quelque chose comme
>> Public Function test_plage(hdeb As String, hfin As String, Htest As
>> String) As Boolean
>> 'Retourne Vrai si dans la plage
>> Dim Hdebnum, HfinNum, HtestNum As Double
>> Hdebnum = convert_tps_centieme(hdeb)
>> HfinNum = convert_tps_centieme(hfin)
>> HtestNum = convert_tps_centieme(Htest)
>> If Hdebnum > HfinNum Then
>> test_plage = HtestNum >= Hdebnum Or HtestNum <= HfinNum
>> Else
>> test_plage = HtestNum >= Hdebnum And HtestNum <= HfinNum
>> End If
>>
>> End Function
>>
>> Public Function convert_tps_centieme(H As String) As Double
>> convert_tps_centieme = Left(H, InStr(1, H, ":") - 1) + (Mid(H,
>> InStr(1, H, ":") + 1) * 5 / 3) / 100
>> End Function
>>
>> A tester bien sur ;-)
>> ***+

> Oups , c'est ok si les heures sont au format hh:mm ou h:mm
> Time retournant du hh:mm:ss soit on tronque
> MyTime=left(MyTime,len(MyTime)-3)
>
> Soit
> Public Function convert_tps_centieme(H As String) As Double
> convert_tps_centieme = Left(H, InStr(1, H, ":") - 1) + (Mid(H,
> InStr(1, H, ":") + 1, 2) * 5 / 3) / 100
> End Function


Merci mais j'obtiens ces résultats qui ne sont pas systématiquement bon

HTest 11:59:32 - Debut 01:00:01 - Fin 08:00:00
TestNum 11,9833333333333 - DebNum 1 - FinNum 8
Cas Hors plage
Ok

HTest 11:58:50 - Debut 23:00:01 - Fin 08:00:00
TestNum 11,9666666666667 - DebNum 23 - FinNum 8
Cas Dans la plage
Pas bon

HTest 01:56:58 - Debut 23:00:01 - Fin 08:00:00
TestNum 1,93333333333333 - DebNum 23 - FinNum 8
Cas DAns la plage
Ok

HTest 01:55:47 - Debut 01:00:01 - Fin 08:00:00
TestNum 1,91666666666667 - DebNum 1 - FinNum 8
Cas Hors plage

Pas bon

***+

JY


Réponse avec citation
 
Réponse
Tags: , , , , , ,



Outils de la discussion
Modes d'affichage

Règles de messages
Vous pouvez ouvrir de nouvelles discussions : nonoui
Vous pouvez envoyer des réponses : nonoui
Vous pouvez insérer des pièces jointes : nonoui
Vous pouvez modifier vos messages : nonoui

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Discussions similaires

Discussion Auteur Forum Réponses Dernier message
Utiliser une plage horaire pour un calcul hobbes34 Newsgroup microsoft.public.fr.excel 14 30/07/2008 11h59
Re: recherche dans une plage Jacky Newsgroup microsoft.public.fr.excel 0 01/06/2008 08h46
tester dans quel intervale se situe une donnée Marc Newsgroup microsoft.public.fr.excel 1 19/03/2008 19h57
[VBA] Format horaire dans un TextBox Amalric Parré Newsgroup microsoft.public.fr.excel 2 23/02/2008 18h48
Plage horaire sur ISA 2004 GG Newsgroup microsoft.public.fr.isaserver 4 04/01/2007 06h33


Fuseau horaire GMT. Il est actuellement 05h33.

Italiano - German - English - Español


Édité par : vBulletin® version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc. Tous droits réservés.
Version française #13 par l'association vBulletin francophone


Politique - Droit - Philosophie - Football - Medicine - Française - Bricolage - Photo - Mac Os X - Divers - Physique - Jardinage
Mecanique - Moto - Photographie - Rail - Route - Aviation - Cinema - Linux - Psychanalyse - Finance - Enigmes - Rugby
Environnement - Histoire - Programmes TV - Education - Travail - Voyages - Windows - Immobilier - Cuisine
Windows XP - Excel - Word - Outlook - Access - Internet Explorer - Office - Vista

Page generated in 0,25807 seconds with 11 queries