Microsoft 365 Excel: Afficher sur chaque ligne, la somme d'une colonne de chaque mois correpsondant

Tony-Buy

XLDnaute Nouveau
Bonjour à tous,

J'ai parcouru énormément de forum sur ce sujet, mais je n'ai malheureusement rien trouvé qui puisse correspondre à mon besoin.
J'ai une table de données pour suivre l'évolution du traitement de dossiers.
En colonne A: Nom du dossier
En colonne B: Statut (Ouverture ou fermeture d'un dossier)
En colonne C: 1 pour une ouverture de dossier et -1 pour une fermeture de dossier
En colonne D: La date correspondante à l'ouverture ou la fermeture du dossier

Mon besoin: Avoir en Colonne E et sur chaque ligne, le cumul (total de la colonne C) par mois (correspondant au mois de la colonne D), additionné au total du mois précedent.

Pour compliqué les choses, je ne doit pas passer par un TCD, uniquemment VBA.

Je vous joint un fichier pour exemple.
J'ai rajouté une colonne information pour plus de détails.

Merci d'avance à tous :)
 

Pièces jointes

  • Exemple de cumul.xlsx
    11.7 KB · Affichages: 7
Solution
Ci-joint,
Je sais pas si votre classeur final est lourd ou pas.
La variable qui contient le n° de dossiers ouverts et donc qui retourne le nombre est déclarée "as Byte" donc techniquement limitée au nombre 255 (n'utilise qu'1 octet de mémoire, question d'optimisation)
Si vous avez + de 255 dossiers ouverts, changer la déclaration de cette variable (A) par "as Integer" (ou "A%") ou par "as Long", qui supportent des nombres bien plus conséquents.
A +
C

Compte Supprimé 979

Guest
Bonjour,

Commencez par mettre un bon exemple et je pense que vous aurez de réponses
1634640564822.png


2 ouvertures... où ca !?

@+
 

Tony-Buy

XLDnaute Nouveau
Bonjour,

Commencez par mettre un bon exemple et je pense que vous aurez de réponses
Regarde la pièce jointe 1118732

2 ouvertures... où ca !?

@+
Bonjour,

Les ouvertures et fermetures sont comptabilisés par mois.
Donc pour le mois de février ouverture du dossier 10003 le 03/02/2021 et 10004 le 04/02/2021
.
Vous pouvez mettre un tri par date en colonne D pour une meilleure visibilité.

Merci.
 

Tony-Buy

XLDnaute Nouveau
Difficile d'êter plus précis 🤔🤔.
Je souhaite afficher dans une colonne le cumul de mes dossiers restant ouverts par mois.
La difficulté étant de le faire par un code VBA.

N'hésitez pas à me poser des questions si besoin de plus d'info.
Merci :)
 

Wayki

XLDnaute Impliqué
En VBA, voici où j'en suis...
ça marche avec formula du fichier 1, mais j'obtiens pas le bon résultat avec evaluate du fichier 2 et je ne sais pas pourquoi 🤷‍♂️
Ci-joint
Edit : C'est débugué
A +
 

Pièces jointes

  • Exemple de cumul.xlsm
    23.5 KB · Affichages: 1
  • Exemple de cumul2.xlsm
    25.5 KB · Affichages: 5

Tony-Buy

XLDnaute Nouveau
En VBA, voici où j'en suis...
ça marche avec formula du fichier 1, mais j'obtiens pas le bon résultat avec evaluate du fichier 2 et je ne sais pas pourquoi 🤷‍♂️
Ci-joint
Edit : C'est débugué
A +
Bonjour,
Alors je viens de tester c'est exactement ce que je cherchais :)
Juste une petite question, est ce qu'il est possible de modifier la formule pour qu'elle tienne compte des lignes non vide, plutot que des 1000 premiere lignes?

Merci d'avance.
 

Wayki

XLDnaute Impliqué
Ci-joint,
Je sais pas si votre classeur final est lourd ou pas.
La variable qui contient le n° de dossiers ouverts et donc qui retourne le nombre est déclarée "as Byte" donc techniquement limitée au nombre 255 (n'utilise qu'1 octet de mémoire, question d'optimisation)
Si vous avez + de 255 dossiers ouverts, changer la déclaration de cette variable (A) par "as Integer" (ou "A%") ou par "as Long", qui supportent des nombres bien plus conséquents.
A +
 

Pièces jointes

  • Exemple de cumul2.xlsm
    25.3 KB · Affichages: 5

Tony-Buy

XLDnaute Nouveau
Ci-joint,
Je sais pas si votre classeur final est lourd ou pas.
La variable qui contient le n° de dossiers ouverts et donc qui retourne le nombre est déclarée "as Byte" donc techniquement limitée au nombre 255 (n'utilise qu'1 octet de mémoire, question d'optimisation)
Si vous avez + de 255 dossiers ouverts, changer la déclaration de cette variable (A) par "as Integer" (ou "A%") ou par "as Long", qui supportent des nombres bien plus conséquents.
A +
Bonjour,
Merci beaucoup pour ce retour.
C'est exactement ce qu'il me fallait :)
Encore merci.
 

Discussions similaires

Réponses
5
Affichages
470