studentjeje
Messages postés14Date d'inscriptionvendredi 3 septembre 2004StatutMembreDernière intervention 5 janvier 2007
-
21 oct. 2004 à 13:14
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
22 oct. 2004 à 10:14
Bonjour,
1) Je souhaiterais savoir comment faire pour calculer des décalages de dates par rapport à la date du jour avec un décalage de un mois, trois mois six mois, neuf mois, un an, deux ans, ...etc jusqu'à 10 ans.
J'ai commencé à écrire qq chose mais le prgramme me retourne la valeur "0".
Je ne sais pas si je peux utiliser un compteur car les pas sont différents. Alors, si quelqu'un peut m'aider, merci beaucoup.
2) Je souhaiterais savoir comment je peux récupérer le résultat du calcul des variables déclarées pour d'autres calculs.
Voici le code:
Option Explicit
Dim Jour As String
Dim Mois1 As String
Dim Mois3 As String
Dim Mois6 As String
Dim Mois9 As String
Dim An1 As String
Dim An2 As String
Dim An3 As String
Dim An4 As String
Dim An5 As String
Dim An6 As String
Dim An7 As String
Dim An8 As String
Dim An9 As String
Dim An10 As String
Dim i As Integer
Private Type DatesT
Dates As String
Valeur As String
End Type
Dim Dates(1 To 15) As DatesT
Public Function CalculDates(Nom As String, Valeur As String, i As Integer)
For i = 1 To 15
Dates(i).Valeur = i + DateAdd("d",1,CDate(Date))
' Comment faire pour faire une boucle avec des pas différents ?
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 21 oct. 2004 à 13:32
salut,
et bien avec dateadd comme tu le fait je vois pas ton probleme...
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
studentjeje
Messages postés14Date d'inscriptionvendredi 3 septembre 2004StatutMembreDernière intervention 5 janvier 2007 21 oct. 2004 à 13:53
Le probème est qu'il me renvoit la valeur "0". De plus, dans l'exemple, j'ai mis une boucle pour ajouter 1 Jour mais il me faudrait également des boucles pour ajouter des mois et des années selon les pas définis dans mon premier message.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 21 oct. 2004 à 15:07
Salut,
tu entends coi par "different pas definis"
Si tu pouvais me reexplique je pourrai t aider (desole) avec une ptite fonction
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
studentjeje
Messages postés14Date d'inscriptionvendredi 3 septembre 2004StatutMembreDernière intervention 5 janvier 2007 21 oct. 2004 à 15:22
Ok.
Ce que je veux est d'ajouter à partir de la date du Jour un pas (c'est à dire un entier qui peut être soit le jour, soit le mois, soit l'année) pour avoir une nouvelle Date qui sera Jour + le pas ( par exemple 1jour)
Mon problème est donc que je veux ajouter à la variable Jour d'abord 1 Jour, puis 1 mois, puis 3 mois, 6 mois, 9 mois, 1 an, 2 ans, etc...10 ans.
Les résultats donnent des nouvelles dates que je souhaiterais variabiliser afin de les reprendre dans de nouveaux calculs.
Cordialement,
Jeje
Vous n’avez pas trouvé la réponse que vous recherchez ?
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 21 oct. 2004 à 16:23
Salut,
ON y es presque.
Juste une derniere question pourcoi un type et pas un tableau de date directement et pourcoi 15
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
studentjeje
Messages postés14Date d'inscriptionvendredi 3 septembre 2004StatutMembreDernière intervention 5 janvier 2007 21 oct. 2004 à 16:40
Il y a 15 valeurs à calculer.
Pour la première question : je me suis lancé dans le type mais j'ai peut être tord. C'est peut être ça qui coince. sais pas.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 21 oct. 2004 à 16:51
Re,
Avec un tableau de date c est peu etre mieux mais je sais pas ...
en tout cas si il y a quinze valeur, tu dois bien savoir quand ajouter des mois, des jours ou des annees,
ou alors fait le tout le temps en jours et essaie de voir si il n y pas un fonction qui pourrait relier la valeur de ta boucle avec la valeur d ecart a calculer. comme ca tu pourra faire un truc du style.
exemple avectableau de date
For i = 1 To 15
Dates(i) = DateAdd("d",i,Date)
' ou i * je ne sais quel coeeficient
' ou alors tu peux faire si i < tellevaleur ajourter des jours , mois
Next i
plus j ecris plus je me rends compte que je ne sais pas m expliquer ;)
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 22 oct. 2004 à 10:14
Salut,
je recapitule :
- il y a 15 valeur : 1j, 1m, 3m, 6m, 9m, 1a, 2a, 3a, 4a, 5a, 6a, 7a, 8a, 9a, 10a
Essayons can meme une boucle (avec teste de la valeur i)
Dim i As Integer
Dim NumMois As Integer
NumMois = 1
For i = 1 To 15 If i 1 Then Dates(i) DateAdd("d", 1, Date) If i 2 Then Dates(i) DateAdd("m", 1, Date)
If (i >= 3 And i < 6) Then
Dates(i) = DateAdd("m", 3 * NumMois, Date)
NumMois = NumMois + 1
End If If i >6 Then Dates(i) DateAdd("yyyy", i - 5, Date)
Next
J sais pas trop si ca t avance mais bon
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------