récupérer les mois dans une feuille excel

cocotte38

XLDnaute Nouveau
Bonjour,

J'ai un tableau excel qui se présente sous la forme :

Nom1 Date1 Date2 Date3
Nom2 Date4 Date2 Date6
Nom3 Date5 Date3 Date4
etc.

Je cherche à récupérer le nombre de dates répertoriées par mois et par année dans un tableau récapitulatif sous la forme :

janv.08 3
Fev.08 1
Mars08 2
janv.09 0
Fev.09 0

Quelqu'un peut-il m'aider car je galère à mettre la macro correspondante au point...

Merci !
 

job75

XLDnaute Barbatruc
Re : récupérer les mois dans une feuille excel

Bonsoir cocotte38, bienvenue sur le forum,

Voici une méthode sans macro :

1) Définir le nom "mois" (menu Insertion-Nom) par la formule :

=DATE(2008;LIGNE();1)

2) Si votre tableau est la plage A1: D100, entrer en F1 la formule :

=TEXTE(mois;"mmm.aa ")&SOMMEPROD(1*(TEXTE(mois;"m/aaaa")=TEXTE($B$1:$D$100;"m/aaaa")))

ou encore celle-ci :

=TEXTE(mois;"mmm.aa ")&SOMMEPROD(1*(mois=$B$1:$D$100-JOUR($B$1:$D$100)+1))

puis tirer vers le bas.

Le nom "mois" permet d'alléger la formule (où l'on pourrait le remplacer), mais il présente un autre intérêt : il suffit de le modifier pour changer le mois de départ ou la ligne de la 1ère cellule.

Bonne nuit et A+

EDITION : dans une macro, il suffit d'introduire l'une ou l'autre des formules, correctement traduites. Par exemple pour entrer la valeur calculée dans la cellule active :
ActiveCell = Format([mois], "mmm.yy ") & Evaluate("SUMPRODUCT(1*(mois=B1:$D100-DAY(B1:$D100)+1))")
(le $ n'est pas nécessaire, c'est pour éviter le smiley)
 
Dernière édition:

abcd

XLDnaute Barbatruc
Re : récupérer les mois dans une feuille excel

Bonjour,

Saisir par exemple à partir A5 les valeurs dans la première colonne du tableau récapitulatif sous forme de dates du type 01/01/2008 au format "mmm aa" pour obtenir janv 08

Dans la cellule voisine B5 la formule :
=SOMMEPROD((ANNEE($B$1:$D$3)=ANNEE(A5))*(MOIS($B$1:$D$3)=MOIS(A5)))
à copier vers le bas.

abcd
 

job75

XLDnaute Barbatruc
Re : récupérer les mois dans une feuille excel

Bonjour à tous,

@abcd : sans doute as-tu raison, j'ai mis le résultat dans une seule et même colonne, mais il est en effet plus probable que cocotte veuille 2 colonnes !

Dans ce cas, écrire en F1 simplement :

=DATE(2008;LIGNE();1)

et en G1 (pour ma 2ème formule) :

=SOMMEPROD(1*(F1=$B$1:$D$100-JOUR($B$1:$D$100)+1))

Tirer les 2 cellules vers le bas, puis mettre la colonne F au format personnalisé "mmm.aa"

A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 304
Messages
2 087 068
Membres
103 453
dernier inscrit
Choupi