Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Calcul échéance

Galaxy_Ambi

XLDnaute Nouveau
Bonjour,

Vue que je suis très nul en Excel Vba, je me suis orienté vers vous les experts.

Ce que je souhaite réaliser (avec VBA) est:

J'ai un fichier Excel avec une feuille BD, et un Userform,
1- je veux calculer les montants et les dates d'échéances selon les critères suivantes (le montant global /le nombre des mois / et la date de début d'échéance)
Quand je saisi les données dans les textbox (le montant global /le nombre des mois / et la date de début d'échéance) dans le userform, ces derniers et le résultat du calcul sera reporter dans le tableau de la feuille BD

Par exemple:
Saisir:
Montant Global: 10 000
Nombre des mois: 11
Date de début d'échéance: 01/01/2020
Résultat:
Le montant global 10 000 sera diviser et dispatcher automatiquement sur les TextBox (Montant) selon le nombre des mois (dans notre exemple 10 000/11)
Les dates: (01/01/2020 * 11 Mois) qui sera dispatcher sur les Textbox Date (à condition que la date 1 du texbox4 sera la même date du début d'échancre (dans notre exemple: 01/01/2020))

2 - Dans le textbox (Date de réduction) si j'introduit une date (cette dernière sera une date parmi les dates calculés sur le userform), dans notre exemple si j'introduit 01/05/2020 les dates supérieurs à cette dernière seront supprimées automatiquement avec leurs montants.

Les textebox avec les étoiles rouges sont des champs obligatoires

Vous retrouver en pièce jointe un fichier exemple

Restons disponible

Merci à vous

Cordialement
 

Pièces jointes

  • Test.xlsm
    26.6 KB · Affichages: 21

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Galaxy_Ambi,
Je pense que peu de gens ont envie de remplir autant de textbox pour ensuite les mettre dans des cellules.
En PJ un essai avec que des formules dans une feuille. Ca c'est simple et demande que peu d'effort.
avec :
VB:
=SIERREUR(SI(ET(B$6<>"";MOIS.DECALER(B8;1)>B$6);"";SI(B$4>=$A9;MOIS.DECALER(B8;1);""));"")
et
=SIERREUR(B$3/B$4;"")
 

Pièces jointes

  • Test (10).xlsm
    26.5 KB · Affichages: 14

juvaxe

XLDnaute Occasionnel
Bonjour

Si la réponse de sylvanu te sied inutile d'aller plus loin.

Si pour une raison ou une autre tu veux rester sur ton Userform et VBA, il existe une voie ;

on peux faire des boucles et générer dynamiquement le nom des controls avec des instructions suivant l'exemple suivant :

for x = 1 to n
Controls("TextBox" & x).value = .....
next x


Bonne réception
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…