Macros et fonctions

1

Bonjour,
Je suis réviseur comptable dans une banque et parmi mes travaux il y a une cartographie des suspens par antériorité, un travail qui me coute beaucoup en temps et qui demande à être très attention, ce travail consiste à recenser le nombre de suspens par antériorité d'une date à l'autre , genre nbre d’écriture de j à j+10 , nbre d’écriture de j+11 à 1 mois, nbre d’écriture de 1 mois à 3 mois etc...

Tous sa en nombre et en montant, cela m'oblige à mettre des formules somme et nb sur des centaines d’historiques de comptes, et ça me prend un temps fou, ma question est la suivante , n'existe t'il pas une formule ou une macro qui peut faire le calcul automatique , une formule genre sommerprod,, il formule qui dit par exemple "DU 31/12/2014 AU 22/12/2014 ON A 25 ÉCRITURES" et "DU 31/12/2014 AU 22/12/2014 ON A UN SOLDE DE 24500 EURO" et le résultat doit apparaitre sur une autre feuille et les données proviennent d'autre feuille qui comporte l'historique du compte.

Merci d'avance
Lord Gilles

Posté le 19 janvier 2015, 08:58
par lordgilles
Répondre
1

Bonjour,

Voici une proposition de solution :

Nous supposons un classeur contenant 1 feuille permettant d'effectuer la demande et x feuilles contenant les données de plusieurs comptes toutes étant naturellement parfaitement identiques quand à leur présentation colonnes / lignes (le nombre de lignes étant le maximum autorisé et ne devant pas nécessairement être complétées.

Pour l'exemple : 

Feuille des données :

colonne A : libre pour libellé par exemple

colonne B : Date opération

colonne C : somme du mouvement

Lignes : 25

Feuille de demande :

Cellule A2 : nom de la feuille de données à traiter (Feuil5 par exemple) - le nom de la feuille est variable à la demande de l'opérateur.  Si l'on désire sécuriser l'opération et éviter de mettre un nom inexistant, il est possible de faire un choix par liste.

Cellule B2 : date de début : 17/12/2014 par exemple

Cellule C2 : date de fin : 23/12/2014

Cellule B5 indiquera le nombre de mouvements entre les deux dates :  =NB.SI.ENS(INDIRECT(ADRESSE(2;2;1;1;$A$2)):INDIRECT(ADRESSE(25;2;1;1;$A$2));"<="&C2;INDIRECT(ADRESSE(2;2;1;1;$A$2)):INDIRECT(ADRESSE(25;2;1;1;$A$2));">="&B2)

Cellule C5 : indiquera la somme des mouvements entre les deux dates :

=SOMME.SI.ENS(INDIRECT(ADRESSE(2;3;1;1;$A$2)):INDIRECT(ADRESSE(25;3;1;1;$A$2));INDIRECT(ADRESSE(2;2;1;1;$A$2)):INDIRECT(ADRESSE(25;2;1;1;$A$2));"<="&C2;INDIRECT(ADRESSE(2;2;1;1;$A$2)):INDIRECT(ADRESSE(25;2;1;1;$A$2));">="&B2)

Explications :

Les fonctions NB.SI.ENS et SOMME.SI.ENS permettent de compter les lignes et sommer les montants des lignes qui répondent à diverses conditions.

La fonction INDIRECT est une fonction permettant de lire le contenu d'une cellule (ou d'une plage de cellule) dont nous paramétrons l'adresse.

La fonction ADRESSE permet de constituer l'adresse d'une cellule.

Voir description des fonctions dans Aide d'Excel

En fait, la formule regarde combien de ligne existe dans la plage de 25 lignes qui répondent aux critères de date de début et date de fin sur la feuille de donnée souhaitée (ou la somme des montants)

J'espère que cela vous aidera

A+

Chris


Posté le 26 janvier 2015, 19:33
par CHRIS
-1

Merci de confirmer si la proposition est utile !

Posté le 28 janvier 2015, 10:54
par CHRIS

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :