XL 2019 Macro: Automatisation tableau de trésorerie (données et mois)

SCORP95

XLDnaute Nouveau
Bonjour à tous,

J'ai besoin d'aide sur la création d'une macro pour mon tableau de trésorerie. Vous trouverez ci-joint le fichier avec 5 feuilles:

- "Tableau" recense l'ensemble des encaissements/ décaissements sur 13 mois et selon le type de transactions
- "Saisie ENCAISSEMENT" et "Saisie DECAISSEMENT" permettent d'insérer (grâce au bouton enregistrement) de nouveaux encaissements / décaissements aux tableaux "ListeD" et "ListeE" (voir descrip suivante)
- "Liste encaissements" et "Liste décaissements" qui présentent les tableaux "ListeD" et "ListeE" permettant de faire la liste des nouveaux flux d'encaissements et de décaissements (avec notamment le montant, type de flux et date d'échéance de paiement).

Je ne sais pas si c'est possible mais voici le but: Créer une macro (un bouton) permettant de prendre la valeur de chaque montant d'un nouveau encaissement/décaissement issus du tableau "ListeD" ou "ListeE" et d'insérer cette valeur dans dans la feuille "Tableau" selon la ligne [type de décaissement/encaissement] et la colonne [mois selon la date d'échéance}. Donc au fur et a mesure qu'il y ait de nouveaux flux selon le type et le mois, les valeurs s'additionnent dans les cellules.

Voila un exemple pour être concret:

Dans la feuille "Liste décaissements", le dernier flux est de 2900 euros concernant le type "Loyer-charges KB" et devant être payer en juin 2021 (voir capture 1). J'aimerais insérer le montant de 2900 dans le tableau décaissement de la 1ère feuille (voir capture 2).

Cela fait plusieurs jours que j'essaie toutes sortes de codes sans succès...😞 Si une âme charitable pouvez m'aider sur cela, vous rendriez un homme heureux.

En espérant avoir été clair, je vous remercie d'avance. Belle année 2021 !

Scorp.
 

Pièces jointes

  • tableau flux de decaissement.xlsm
    80.8 KB · Affichages: 30
  • 2.PNG
    2.PNG
    55.1 KB · Affichages: 24
  • 1.PNG
    1.PNG
    78.4 KB · Affichages: 24
Dernière édition:
Solution
Bonjour,

Essayez ceci, un bouton est placé dans les feuilles Liste Encaissements et Décaissements,
Le principe: le programme lit la colonne I "Transféré dans Tableau" de la feuille à traiter, si l'une des cellules ne contient pas 'Oui", alors les données sont reportées dans le Tableau" Après exécution, la colonne i est remplie de "Oui", interdisant toutes nouvelles prises en compte des valeurs .

Le code:
VB:
Sub Recopier_Liste_Decaissements()
    Dim f1 As Worksheet, f5 As Worksheet
    Dim DerLig_f1 As Long, DerLig_f5 As Long, i As Long
    Dim Type_Dec As String, Montant_Dec As Double, Ech_Dec As String
    Dim F As Range, t As Range, d As Range
    
    Application.ScreenUpdating = False
    Set f1 = Sheets("Tableau")
    Set f5 =...

Rouge

XLDnaute Impliqué
Si elles apparaissent en rouge, c'est quelles sont différentes, voir les décimales jusqu'au 5ème rang
il vous faut intégrer la fonction "ARRONDI" aux formules des 2 colonnes avec 2 décimales après la virgule/
en J4 :
=ARRONDI(SOMMEPROD(($B$4:$B89=$B4)*(MOIS($F$4:$F89)=MOIS($F4))*(ANNEE($F$4:$F89)=ANNEE($F4));($E$4:$E89));2)

en K4:
=ARRONDI(INDEX(Tableau!$A$13:Z$39;EQUIV($B4;Tableau!$A$13:$A39;0);EQUIV(DATE(ANNEE($F4);MOIS($F4);"01");Tableau!$A$13:Z$13;0));2)
 
Haut Bas