Cellule avec formule se transforme en cellule de valeurs en fin de mois

vdh_xavier

XLDnaute Junior
Bonjour à tous,

J’ai un tableau excel du genre suivant :

Date Rapports annuels réalisés
Janv-13 Formule qui compte le nombre de rapports annuels réalisés en janvier 2013
Févr-13 Formule qui compte le nombre de rapports annuels réalisés février 2013
Mars-13 Formule qui compte le nombre de rapports annuels réalisés en mars 2013
Avr-13 Formule qui compte le nombre de rapports annuels réalisés en avril 2014
ETC ETC
Déc-13 Formule qui compte le nombre de rapports annuels réalisés en décembre 2013
Janv-14 Formule qui compte le nombre de rapports annuels réalisés en janvier 2014
ETC ETC
Déc-35 Formule qui compte le nombre de rapports annuels réalisés en décembre 2035

La formule de comptage est une formule qui compte le nombre de dates comprises entre le 1er jour d’un mois et le 30/31 ème jour d’un mois dans une colonne : =NB.SI.ENS('Tableau de bord'!J$4:J$10001;">=" & Données!A15;'Tableau de bord'!J$4:J$10001;"<=" & Données!B15)

Mon problème est le suivant : Le comptage des rapports annuels réalisés se fait par rapport à une seule et même colonne de dates.

En gros, si je fais un rapport annuel en février 2015, je note la date à laquelle j’ai fait le rapport annuel (dans la colonne de dates), mais évidemment le rapport annuel que j’avais fait en février 2014 n’est plus noté.
Conséquence : En février 2014 le comptage est faux.

En gros ce qui m’intéresse c’est de pouvoir réaliser le comptage et en fin du mois que la cellule se transforme en une cellule de valeurs, càd qu’elle « arrête de compter ».

Je pourrais m’amuser à faire une macro pour chaque fin de mois jusqu’en 2035, mais je pense qu’il doit y avoir mieux comme solution.

Je sais que ce n’est pas très clair et c’est pourquoi je mets le fichier excel en annexe.

Merci d’avance pour votre aide
 

Pièces jointes

  • Tableau de bord.xlsm
    95.4 KB · Affichages: 40
  • Tableau de bord.xlsm
    95.4 KB · Affichages: 43
  • Tableau de bord.xlsm
    95.4 KB · Affichages: 41

Modeste

XLDnaute Barbatruc
Re : Cellule avec formule se transforme en cellule de valeurs en fin de mois

Bonjour vdh_xavier,

Une autre solution serait d'utiliser une formule qui tienne compte du mois et de l'année (si j'ai bien compris!?)
Si tu écris, en B2
Code:
=SOMMEPROD((ANNEE('Tableau de bord'!$J$4:$J$10000)=ANNEE(A2))*(MOIS('Tableau de bord'!$J$4:$J$10000)=MOIS(A2)))
il te reste à recopier cette formule sur les 11 lignes suivantes, puis (le bloc de 12 cellules étant sélectionné), copier la plage et la coller en B18, M18, B34, M34, B50, M50, etc.
Ceci dit, on est d'accord que d'ici 2036 :eek: ça risque de devenir un peu plus "lourd" !
 

vdh_xavier

XLDnaute Junior
Re : Cellule avec formule se transforme en cellule de valeurs en fin de mois

Merci beaucoup pour ta réponse Modeste.

Le problème ne se situe pas là.

En fait je vais à un moment donné modifier ma source (colonne J de la feuille 1), mais je voudrais que le comptage reste.

Comprends-tu ce que je veux dire?

Bien à toi
 

Modeste

XLDnaute Barbatruc
Re : Cellule avec formule se transforme en cellule de valeurs en fin de mois

Bonsoir,

Comprends-tu ce que je veux dire?
... Pas sûr :p, mais ça ne coûte rien d'essayer!

Pourquoi (si j'ai compris, donc) ne pas gérer la mise à jour du "compte des rapports faits", dans le code de la procédure Worksheet_BeforeDoubleClick? De cette manière, tu n'utilises plus les formules et tu ne risques pas d'oublier de sauvegarder les valeurs avant de modifier le contenu de la colonne J.
Si on ajoute ces trois lignes au code existant, il me semble qu'on devrait y arriver:
VB:
...
col = IIf((Year(Date) Mod 2) = 0, 1, 12) 'pour les années paires, on cherche en col A; sinon, en col L
lig = Application.Match(CDbl(DateSerial(Year(Date), Month(Date), 1)), Sheets(2).Columns(col), 0)'on cherche la ligne où figure la date du premier jour du mois en cours
Sheets(2).Cells(lig, col + 1) = Sheets(2).Cells(lig, col + 1) + 1 'on augmente la valeur d'une unité
...
Comme je ne suis pas certain de comprendre (oui, je sais: encore!) les 4 dernières lignes de code, je te laisse le soin de faire l'ajout au bon endroit :D
 

vdh_xavier

XLDnaute Junior
Re : Cellule avec formule se transforme en cellule de valeurs en fin de mois

Grand merci pour ta réponse Modeste.

L'idée d'insérer le comptage dans une macro me plaît beaucoup, c'est dans cette direction qu'il faut aller je pense.

Par contre je n'arrive pas à adapter le code.

Je me demande si ce n'est pas dû au fait que ton code fait référence à la page 2 alors que la procédure Worksheet_BeforeDoubleclick est liée à la page 1.

Sorry je débute en VBA.

Bien à toi
 

Modeste

XLDnaute Barbatruc
Re : Cellule avec formule se transforme en cellule de valeurs en fin de mois

Bonjour,

Le code fait référence à Feuil(2) seulement quand il s'agit d'augmenter d'une unité la valeur de la colonne "RA faits", pour la date correspondant au mois en cours.
Je viens de (re)tester sur ton exemple initial ... je confirme que ça semble fonctionner. Pour éviter toute surprise, j'ai fait un copier-collage spécial (valeurs) des formules de la feuil2 (sauf les sommes) avant de tester.

Si tu parles d'adapter le code, c'est que ton fichier réel diffère de l'exemple de départ; où se situent les différences? La macro cherche en colonne A pour les années paires et en colonne L, pour les autres. Ces deux colonnes doivent contenir des dates correspondant au premier jour de chaque mois. Le nombre de RA faits doit figurer dans la cellule juste à droite de la date.
 

Discussions similaires

Statistiques des forums

Discussions
311 729
Messages
2 081 974
Membres
101 854
dernier inscrit
micmag26