Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour à tous,
Je souhaite faire un suivi de solde de trois comptes bancaires.
Voici les données :
Cpte DateSolde MontantSolde
1 1/sept/23 5000
1 2/sept/23 5200
1 03/sept/23 5100
2 01/sept/23 2000
2 02/sept/23 2100
3 01/sept/23 1000
Quand il n'y a pas d'opération sur le compte, il n'y a pas de données. Le dernier solde reste en vigueur.
Ainsi, au 05/sept/20223 par exemple, j'ai bien sur l'ensemble de mes comptes 5100 + 2100 + 1000 = 8 200 €.
Ma problématique : comment je peux calculer ce solde global à une date donnée par une variable (dans notre exemple le 05/09/2023).
Merci d'avance pour votre aide.
Le résultat attendu serait 5100 + 2100 + 1000 = 8 200
Bonjour,
Tu peux essayer quelque chose comme ça :
sum({<Cpte={'1'},DateSolde=max({<Cpte={'1'}>}DateSolde)>}MontantSolde) + sum({<Cpte={'2'},DateSolde=max({<Cpte={'2'}>}DateSolde)>}MontantSolde) + sum({<Cpte={'3'},DateSolde=max({<Cpte={'3'}>}DateSolde)>}MontantSolde)
Je pense même que ça peut suffir :
sum({<Cpte={'1'},DateSolde=max(DateSolde)>}MontantSolde) + sum({<Cpte={'2'},DateSolde=max(DateSolde)>}MontantSolde) + sum({<Cpte={'3'},DateSolde=max(DateSolde)>}MontantSolde)
Normalement ta date dans la variable vDate devrait filtrer directement DateSolde si c'est comme les variables de dates que j'utilise.
Si ce n'est pas le cas il faut faire :
sum({<Cpte={'1'},DateSolde=max({<Cpte={'1'},DateSolde={"<=$(vDate)"}>}DateSolde)>}MontantSolde) + sum({<Cpte={'2'},DateSolde=max({<Cpte={'2'},DateSolde={"<=$(vDate)"}>}DateSolde)>}MontantSolde) + sum({<Cpte={'3'},DateSolde=max({<Cpte={'3'},DateSolde={"<=$(vDate)"}>}DateSolde)>}MontantSolde)
Merci pour ta réponse.
Cela ne fonctionne pas
L'idée du résultat :
Peut-être est-ce dû au format de date dans la variable par rapport à celui des dates DateSolde qui ne sont pas identiques.
Est-ce que tu obtiens une erreur "-" ou une valeur qui n'est pas la bonne ?
Je te joins le fichier ça sera plus simple.
Bonjour,
Personne pour une solution ?
C'est pas ce qu'il y a de plus propre, et peut être que quelqu'un aura une solution plus aboutie, avec , sans doute, une formule basée sur des agrégations et le mot clé TOTAL. Néanmoins, celle-ci fonctionne :
SUM(IF(DateSolde=aggr(NODISTINCT Date(Max(DateSolde)),Cpte),MontantSolde, 0))
Elle vous donne le solde Courant.
Si vous souhaitez pouvoir choisir la date de visualisation (Par exemple voir les solde au 02/09/2023), vous pouvez utiliser cette formule :
SUM(IF(DateSolde=aggr(NODISTINCT Date(Max({<DateSolde={"<=$(vDate)"}>}DateSolde)),Cpte),MontantSolde, 0))
Celle-ci sera dépendante de la valeur de la variable vDate.
Par contre, pour avoir le rendu de votre tableau et avoir le solde à toutes les dates, je sèche un peu pour l'instant.
J'éditerai le post si je trouve quelque chose.
Cdlt,
C'est quoi Dim ?
Bonjour,
Ta solution ne fonctionne pas dans le cadre dans calcul de solde journalier (voir tableau résultat ci-dessus)