[VBA / Excel] Manipulation des Dates [Résolu]

Signaler
Messages postés
21
Date d'inscription
mercredi 31 janvier 2007
Statut
Membre
Dernière intervention
24 novembre 2007
-
Messages postés
21
Date d'inscription
mercredi 31 janvier 2007
Statut
Membre
Dernière intervention
24 novembre 2007
-
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

Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
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
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 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
Messages postés
21
Date d'inscription
mercredi 31 janvier 2007
Statut
Membre
Dernière intervention
24 novembre 2007

Salut,
Genial !
merci beaucoup de ton aide