[VBA / Excel] Manipulation des Dates

Résolu
cs_sql84 Messages postés 21 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 24 novembre 2007 - 23 nov. 2007 à 23:24
cs_sql84 Messages postés 21 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 24 novembre 2007 - 24 nov. 2007 à 12:11
Bonjour la communauté,

Voila, j'ai un problème à resoudre et j'aimerai avoir votre avis la dessus, je vais donc essayer de vous expliquer le plus précisément possible je que je souhaite faire et si vous pouviez me donner votre avis sur la manière d'appréhender le probleme je vous serai reconnaissant.
la problematique :
je souhaite generer et enregistrer un plan d'amortissement à partir d'un UserForm VBA
le UserForm contient 3 textBox (titre du plan, montant à amortir, et la durée de l'amortissement)
je souhaiterai donc generer un tableau dans excel qui indique le nombre de mois, le montant de chaque échéance, le restant à amortir... un peu comme cela :
Echeances         Montant                En valeur
05/01/2008       138.88                  4861.12
05/02/2008       138.88                  4722.24
05/03/2008       138.88                  4583.36
ect...ect.. pendant 36 mois (dans l'exemple)
Voila pour le décor, maintenant passons aux choses sérieuses.
En ce qui concerne le UserForm et la récupération des données pas de soucie.
Pas de problème également pour calculer le montant de chacunes des échéances.
La somme "En valeur" quand à elle s'optient en retranchant le montant de l'annuitée à la somme précédentes.
jusque là cela va, mais pour les dates ? si je sais combien il y as d'échéances (36 dans mon exemple) je ne sais pas comment étendre les dates d'un mois sur l'autre (à la manière des cellules excel quand ont les saisies par le coin inférieur droit et qu'ont fait glisser pour incrémenter le nombre ou la date)
en fait je voudrait faire une boucle pour ajouter une ligne par échéance en incrémentant la date d'un mois... j'aurai peu être dût commencer par là... :-) et que bien sûr cela gère les années dans le cas d'un armortissement à cheval sur plusieurs années. bien sur j'ai epuisé mes compétences dans ce domaine et usé mes vieux ouvrages sans trouver une solution satifaisante, c'est pourquoi j'espère que dans la communauté il y as quelqu'un qui entendra mon appel. en ultime précision j'utilise une procédure déclenché depuis un bouton du UserForm VBA
Par avance un grand merci à tous de votre aide

3 réponses

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
24 nov. 2007 à 09:25
Re,

Correction:

DureeAmortissement = 15
DateDebutEcheance = "05/01/2008"

DatesEcheance = DateDebutEcheance

For i=1 To DureeAmortissement-1 
    DatesEcheance =  DatesEcheance &vbCr& _
                                    DateSerial(Year(DateDebutEcheance), _
                                    Month(DateDebutEcheance)+i, _
                                    Day(DateDebutEcheance))
Next
MsgBox DatesEcheance

jean-marc
3
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
24 nov. 2007 à 09:12
 Bonjour,

DateSerial est étudié pour !

DureeAmortissement = 15
DateDebutEcheance = "05/01/2008"

For i=0 To DureeAmortissement-1  
    DatesEcheance =  DatesEcheance &vbCr& _
                     DateSerial(Year(DateDebutEcheance), _
                     Month(DateDebutEcheance)+i, _
                     Day(DateDebutEcheance))
Next
MsgBox DatesEcheance

jean-marc
0
cs_sql84 Messages postés 21 Date d'inscription mercredi 31 janvier 2007 Statut Membre Dernière intervention 24 novembre 2007
24 nov. 2007 à 12:11
Salut,
Genial !
merci beaucoup de ton aide
0
Rejoignez-nous