Urgent - Fonction date

Résolu
hstlaurent Messages postés 17 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 22 août 2005 - 16 juin 2005 à 16:52
hstlaurent Messages postés 17 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 22 août 2005 - 16 juin 2005 à 20:04
Salut,

voici ce que je dois faire et que j'ai de la misère.

- Je dois déclarer et définir une fonction ou sub-routine noue permettant de calculer la date de retour d'une réservation quelconque (hôtel, auto, avion...)
- Avec les paramètre suivant: Date de départ et la durée.
EX: Je fais une réservation d'un hotel pour le 26 avril 2004 pour une durée d'une semaine.
- La date de retour qui sera retournée (date de départ + durée) devra être de type String et du format: ddmmyy

Je ne suis pas programmeur alors j'aurais besoin de la déclaration de la fonction et la déclaration des variable. Le code au complet.

Merci beaucoup de votre aide.

18 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
16 juin 2005 à 19:38
Et si tu veux garder les slash :


Private Function Modification_date(dt As String) As String
Modification_date = format(cdate(dt) + 7,"dd/mm/yy")
End Function

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
3
cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 7
16 juin 2005 à 17:00
il te le faudrait sous quel type de code

vb.net
vb6
vb excel
vbscript...

précise car la réponse sera différente

@+
LIM
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
16 juin 2005 à 17:03
Salut,

Va voir du côté des fonctions dateadd pour la date de fin et format pour l'affichage en texte.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
hstlaurent Messages postés 17 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 22 août 2005
16 juin 2005 à 17:03
Vba sinon Vbscript
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 7
16 juin 2005 à 17:09
alors voilà il faut utiliser la fonction DateAdd

"y" : représente les jours de l'année
10 : le nombre de jours à ajouter
Date : c'est la date du jour

result=dateadd("y",10,Date)

result ="26/06/2005" puisque aujourd'hui on est le 16

je ne sais pas si çà te suffit

@+
LIM
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
16 juin 2005 à 17:14
Remarque, pour le 26 avril 2004 c'est un peu tard pour la réservation !

Sinon, une piste :

Dim d1 As Date, d2 As Date


d1 = "26/04/2005"
d2 = DateAdd("d", 7, d1)

msgbox "Date de fin : " & d2

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 7
16 juin 2005 à 17:16
A mon avis Canis Lupus tu a un peu gourré en lisant
chez moi 26/06/2005 c'est le 26 juin 2005 donc cette année

enfin moi ce que j'en dis

@+
LIM
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
16 juin 2005 à 17:17
ou plus simple:

d2 = d1 + 7

msgbox "Date de fin : " & d2

Daniel
0
hstlaurent Messages postés 17 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 22 août 2005
16 juin 2005 à 17:20
ok mais comment je fais pour déclarer ma fonction et mes variables?

Est-ce ceci comprend ma déclaration de ma fonction et mes variable:

"y" : représente les jours de l'année
7 : le nombre de jours à ajouter
Date : c'est la date du jour

result=dateadd("y",7,Date)

Je ne doit pas préciser que c'est une string ma variable (ex: dim y) et ma fonction ne doit pas être déclaré comme

Dim y
Dim Date
Founction Modification_date
result=dateadd("y",7,Date)
End Function

Qu'est-ce qui fait en sorte que Date va se populer avec la valeur entré dans mon champ?
0
cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 7
16 juin 2005 à 17:30
A ben si bien sur il faut déclarer les focntion et le variables

ici Date est une fonction d'excel qui renvoi la date du jour toute seule

"y" (qui est une string ) est un des paramètres de la fonction DateAdd

donc tu dois adapter le code fourni à ton application

c'est à dire remplacer Date par ton champ

si tu es dans une feuille excel (exemple)
imaginons que dans feuil1.cells(1,1) tu es une date

en lançant la fonction tu vas ajouter 7 jour à la date de feuil1.cells(1,1)

Founction Modification_date
result=dateadd("y",7,feuil1.cells(1,1))
End Function

evidemment il ne faut la renvoyer dans result mais dans une autre cellule de la feuille

exemple

feuil1.cell(1,2)=dateadd("y",7,feuil1.cells(1,1))

@+
LIM
0
hstlaurent Messages postés 17 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 22 août 2005
16 juin 2005 à 17:42
Ce qui veut dire que ceci pourrais être bon :

Dim result As Sting

Founction Modification_date
result=dateadd("y",7,Date)
End Function

Ce qui veut dire que dans ma variable result va contenir la date entrée (date) + 7 jours.

Est-ce que je dois déclarer d,autre variable (le ''Y'') et qu'est-ce qui précise que le format de ma date est bien : ddmmyy ???
0
cs_lim Messages postés 329 Date d'inscription jeudi 20 novembre 2003 Statut Membre Dernière intervention 10 mai 2014 7
16 juin 2005 à 17:46
attention Date est une fonction qui renvoi la date système (du jour) si tu veux une autre date celle que tu saisie il faut que tu déclare une variable que tu y mette la date et que tu appel ta fonction

le y ne précise pas le format de la date pour cela il faut formater ta date à comme tu le souhaite

ici la date renvoyé est la même que celle du système ddmmaaaa

si tu veux je peux t'envoyer un fichier excel d'exemple

voilà mon mail tlimondin@yahoo.fr

@+
LIM
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
16 juin 2005 à 17:53
Private Function Modification_date(dt As String) As String

Dim d As Date

d = dt

Modification_date = d + 7

End Function



MsgBox Modification_date("24/12/2005")


Daniel
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
16 juin 2005 à 18:14
lim > relis la question de départ, il y a bien "26 avril 2004 ", c'était l'objet de ma remarque bien que dans l'exemple que j'ai donné j'ai traduit 2004 en 2005.

Sinon, s'il faut juste ajouter des jours, Daniel a indiqué le plus simple.

Autre chose, avec la fonction DateAdd, je préfère utiliser "d" (jour) qui est moins restrictif que "y" (jour de l'année).

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
hstlaurent Messages postés 17 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 22 août 2005
16 juin 2005 à 19:18
je suis un peu perdu.





Je dois prendre le champs date de début entré, y ajouter 7 et faire en sorte que la date de fin soit formater : ddmmyy





si date est la date du système ce n'est pas bon.





QU'est-ce qu'il me manque pourque ma fonction marche?








Dim result As Sting

Founction Modification_date
result=dateadd("y",7,Date)
End Function








ou comme





Private Function Modification_date(dt As String) As String
Dim d As Date
d = dt
Modification_date = d + 7
End Function
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
16 juin 2005 à 19:34
Je vote pour :



Private Function Modification_date(dt As String) As String
Modification_date = format(cdate(dt) + 7,"ddmmyy")
End Function

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
16 juin 2005 à 19:37
Private Function Modification_date(dt As String) As String

Dim d As Date

d = dt

' si c'est la Date Système on fait quoi ?

' on renvoie la même ?

If d <> Date Then d = d + 7

Modification_date = d

End Function


' le test suivant sera faux

If "16/06/2005" = Date$ Then ...



' celui ci sera bon

If CDate("16/06/2005") = Date Then MsgBox "OUI"






Daniel
0
hstlaurent Messages postés 17 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 22 août 2005
16 juin 2005 à 20:04
je voudrais vous remercier pour vos réponse.

Je l'apprécie énormément
0
Rejoignez-nous