Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/03/2011, 18h19   #1
Invité régulier
 
Inscription : février 2011
Messages : 30
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 30
Points : 8
Points : 8
Par défaut PB de cohérence SOMMEPROD MOIS 1

Bonsoir,

SOMMEPROD((MOIS(INDIRECT("I"&$A$18&":I"&$A$21))=A8)*1)

La cellule A8 est paramétrable et contient le chiffre 1

Cela fonctionne bien quand les cellules de la colonne sont renseignées
Il me trouve le bon nombre de mois saisie correspondant à 1 soit janvier

Les dates sont saisies sous la forme JJ/MM/AAAA

Par contre, lorsque les cellules de la même colonne ne sont pas toutes renseignées (vide), il renvoie un chiffre qui correspond au nombre de ligne totale même si elles sont vide.

Exemple,dans une colonne A1:A14 qui est égal à 14 cellules dont 12 sont vides ; il renvoie quand même le nombre 14 alors que normalement, il devrait renvoyer le chiffre 2 du fait qu'il n'y a que 2 cellules de saisies.

Le comptage à partir de 2 pour février ; 3 pour mars etc... ne pose pas de PB)

Il y a que pour 1 ; janvier que cela pose PB

Pouvez vous m'aider SVP
Merci,
stechajo
stechajo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 18h48   #2
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 305
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 305
Points : 2 653
Points : 2 653
Bonsoir,
Cela vient du fait que ta cellule est VIDE.
Les dates dans Excel sont des n° de série dont le 1 représente le 1/1/1900 pour Windows et 1/1/1904 pour MAC
Si ta cellule E1 est vide et que tu tapes en E2 =MOIS(E1) tu obtiendras 1, même chose pour =ANNEE(E1) te renverras 1900
Donc une cellule vide est considérée comme janvier de l'an 1900 par contre la fonction JOUR te renverra 0
Pour palier à ce problème tu peux tester, si les valeurs sont supérieurs à 0
Exemple pour des dates placées de A2 à A14 et une date de test placée en B2. A adapter selon tes besoins
Code :
1
2
 
=SOMMEPROD( (($A$2:$A$14) >0) * (MOIS($A$2:$A$14)=MOIS(B2)) * 1)
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 20h27   #3
Invité régulier
 
Inscription : février 2011
Messages : 30
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 30
Points : 8
Points : 8
Citation:
Envoyé par corona Voir le message
Bonsoir,
Cela vient du fait que ta cellule est VIDE.
Les dates dans Excel sont des n° de série dont le 1 représente le 1/1/1900 pour Windows et 1/1/1904 pour MAC
Si ta cellule E1 est vide et que tu tapes en E2 =MOIS(E1) tu obtiendras 1, même chose pour =ANNEE(E1) te renverras 1900
Donc une cellule vide est considérée comme janvier de l'an 1900 par contre la fonction JOUR te renverra 0
Pour palier à ce problème tu peux tester, si les valeurs sont supérieurs à 0
Exemple pour des dates placées de A2 à A14 et une date de test placée en B2. A adapter selon tes besoins
Code :
1
2
 
=SOMMEPROD( (($A$2:$A$14) >0) * (MOIS($A$2:$A$14)=MOIS(B2)) * 1)
Bonsoir,
j'ai bien utilisé ta formule et cela fonctionne très bien.

Par contre, j'ai essayé d'intégrer la fonction INDIRECT et je me heurte à #VALEUR!

Je crois qu'i me manque quelque chose mais mes yeux se croisent.
Peux tu m'aider,
Ci-dessous ma formule
Code :
=SOMMEPROD((MOIS(INDIRECT("K"&$A$18&":K"&$A$21)>0*(MOIS("K"&$A$18&":K"&$A$21)=MOIS(A8))*1)))
Merci stechajo
stechajo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 20h35   #4
Membre habitué
 
Inscription : janvier 2011
Messages : 106
Détails du profil
Informations personnelles :
Âge : 51

Informations forums :
Inscription : janvier 2011
Messages : 106
Points : 137
Points : 137
Bonsoir,

Deux discussions sur le même sujet !?
Une réponse ici
__________________
.
U. Milité
U. Milité est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 20h43   #5
Invité régulier
 
Inscription : février 2011
Messages : 30
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 30
Points : 8
Points : 8
Par défaut RESOLU

Citation:
Envoyé par stechajo Voir le message
Bonsoir,
j'ai bien utilisé ta formule et cela fonctionne très bien.

Par contre, j'ai essayé d'intégrer la fonction INDIRECT et je me heurte à #VALEUR!

Je crois qu'i me manque quelque chose mais mes yeux se croisent.
Peux tu m'aider,
Ci-dessous ma formule
Code :
=SOMMEPROD((MOIS(INDIRECT("K"&$A$18&":K"&$A$21)>0*(MOIS("K"&$A$18&":K"&$A$21)=MOIS(A8))*1)))
Merci stechajo
Merci, je viens d'avoir la réponse,
Encore un grand merci pour ton aide,
stechajo
stechajo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h21.


 
 
 
 
Partenaires

Hébergement Web