OVH Cloud OVH Cloud

date et format

3 réponses
Avatar
Antoine
Salut à tous,

Je déclare dans ma proc :

dim jour as date

jour = date

do until jour = date+30
...
...
jour = jour+1
loop

Mes actions se passent correctement mais ma boucle ne s'arrête pas. QQun
voit-il pourquoi ? Sans doute encore une histoire de format !!!!!!

Antoine, qui a décidemment bien du mal avec les formats !

3 réponses

Avatar
Eric
Bonjour Antoine,

Le problème ne viendrait-il pas d'une routine de gestion d'erreur
contenant un Resume sans rien derrière?

La proc suivante marche très bien:
Sub JourTest()
Dim jour As Date
jour = Date
Do Until jour = Date + 30
jour = jour + 1
Loop
Debug.Print jour
End Sub

Par contre celle-ci avec une gestion d'erreur(très simplifiée) boucle
sans fin. a n'est pas défini, donc division par zéro et dans la gestion
d'erreur, je fais un Resume qui reprend à la ligne provoquant l'erreur,
donc ca boucle toujours.
Sub JourTest2()
On Error GoTo Err_JourTest2
Dim jour As Date
jour = Date
Do Until jour = Date + 30
X = 100 / a ' a non défini --> Div/0
jour = jour + 1
Loop
Debug.Print jour
Exit Sub
Err_JourTest2:
Resume
End Sub

A+
Eric

"=?Utf-8?B?QW50b2luZQ==?=" écrivait
news::

Salut à tous,

Je déclare dans ma proc :

dim jour as date

jour = date

do until jour = date+30
...
...
jour = jour+1
loop

Mes actions se passent correctement mais ma boucle ne s'arrête pas.
QQun voit-il pourquoi ? Sans doute encore une histoire de format
!!!!!!

Antoine, qui a décidemment bien du mal avec les formats !



Avatar
Antoine
Non non y a pas d'problèmes de ce genre ! désolé


Bonjour Antoine,

Le problème ne viendrait-il pas d'une routine de gestion d'erreur
contenant un Resume sans rien derrière?

La proc suivante marche très bien:
Sub JourTest()
Dim jour As Date
jour = Date
Do Until jour = Date + 30
jour = jour + 1
Loop
Debug.Print jour
End Sub

Par contre celle-ci avec une gestion d'erreur(très simplifiée) boucle
sans fin. a n'est pas défini, donc division par zéro et dans la gestion
d'erreur, je fais un Resume qui reprend à la ligne provoquant l'erreur,
donc ca boucle toujours.
Sub JourTest2()
On Error GoTo Err_JourTest2
Dim jour As Date
jour = Date
Do Until jour = Date + 30
X = 100 / a ' a non défini --> Div/0
jour = jour + 1
Loop
Debug.Print jour
Exit Sub
Err_JourTest2:
Resume
End Sub

A+
Eric

"=?Utf-8?B?QW50b2luZQ==?=" écrivait
news::

Salut à tous,

Je déclare dans ma proc :

dim jour as date

jour = date

do until jour = date+30
...
...
jour = jour+1
loop

Mes actions se passent correctement mais ma boucle ne s'arrête pas.
QQun voit-il pourquoi ? Sans doute encore une histoire de format
!!!!!!

Antoine, qui a décidemment bien du mal avec les formats !







Avatar
3stone
Salut,

"Antoine"
Je déclare dans ma proc :

dim jour as date

jour = date

do until jour = date+30
...
...
jour = jour+1
loop

Mes actions se passent correctement mais ma boucle ne s'arrête pas. QQun
voit-il pourquoi ? Sans doute encore une histoire de format !!!!!!



Jour est une fonction qui renvoie le "jour" d'une date !

Si tu utilise :

Dim dJour As Date
Do until dJour = Date +30
...

cela fonctionne ?


Antoine, qui a décidemment bien du mal avec les formats !


mais qui fait tout pour... ;-))


PS: Tu peux également faire...

Dim i as integer
For i = Date To Date+30
...
...
Next i


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------