=nb.si sur douze onglets

phil69

XLDnaute Occasionnel
Bonjour à toutes et tous
j'ai un fichier dans lequel je voudrais faire des stats sur 12 mois et par tris avec la formule nb.si
mais ma recherche est sur 43 tris sur 12 mois et la formule est vraiment à rallonge.Est-il possible de la raccourcir
en faisant une nb.si sur les 12 onglets d'un coup
merci
phil69
 

Pièces jointes

  • recap cheque.xls
    464 KB · Affichages: 69
  • recap cheque.xls
    464 KB · Affichages: 67
  • recap cheque.xls
    464 KB · Affichages: 58

phil69

XLDnaute Occasionnel
Re : =nb.si sur douze onglets

rebonjour le forum
merci pour le lien, après ouverture du lien j'ai rapidement parcouru la page et ma question est:Jacques Boisgontier c'est un extraterrestre ??????
encore merci, je vais essayer d'adapter et si problème je vous referais appelle
phil69
 

Misange

XLDnaute Barbatruc
Re : =nb.si sur douze onglets

Bonjour

Face à ce genre ta question, ma réponse est très différente : tu es mal parti en faisant un onglet par mois. C'est l'approche la moins efficace avec excel. Il est infiniment préférable de faire UNE seule base de données en ajoutant une colonne pour la date (et donc le mois est inclus dedans) puis en utilisant un TCD pour synthétiser les données. C'est à partir de ce TCD que tu sors si tu en as besoin (archives par exemple), les données mensuelles. Les formules matricielles, et pire encore les formules matricielles 3D consomment énormément de ressources.

Dans une base de données, on ne renseigne les lignes QUE si on a une valeur, on ne prévoit pas de lignes vides pour accueillir des données à venir ou manquantes.
Il est facile à partir de ton organisation actuelle de remettre tout ça en base de données et de repartir sur de bonnes bases. Sinon d'ici peu tu vas revenir en disant que ton fichier rame et que tu bois trop de cafés (si tu en prends un à chque modif du classeur !)
Un peu de lecture pour bien démarrer avec une vraie base de données.
Ce lien n'existe plus

Si tu postes un classeur avec un tout petit peu plus de données (bidons !) dedans je te ferai un exemple rapide
 

phil69

XLDnaute Occasionnel
Re : =nb.si sur douze onglets

Bonsoir le forum
Toujours mon probleme;merci à Misange mais ce classeur est mis a jour avec un autre et un onglet par mois me convient mieux
Chez Jacques Boisgontier j'ai trouvé ce qui me conviendrais le mieux =SOMMEPROD(NB.SI(INDIRECT(TEXTE(DATE(2014;LIGNE(1:12);1);"mmmm")&"!i3:i4");"BRON"))mais c'a ne marche pas
si quelqu'un à une idée
Merci
phil69
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : =nb.si sur douze onglets

Bonsoir,

Renommer Fevrier,Aout,Decembre en Février,Août,Décembre

=SOMMEPROD(NB.SI(INDIRECT(TEXTE(DATE(;LIGNE($1:$12);1);"mmmm")&"!i3:i40");"BRON"))

cf PJ

JB
 

Pièces jointes

  • recap cheque.xls
    465 KB · Affichages: 63
  • recap cheque.xls
    465 KB · Affichages: 61
  • recap cheque.xls
    465 KB · Affichages: 65
Dernière édition:

phil69

XLDnaute Occasionnel
Re : =nb.si sur douze onglets

re le forum

Encore moi, je rebut encore sur un autre problème, j'ai essayé plusieurs façons, mais rien à faire, je voudrais compter le nombre
de valeurs numérique dans les cellule f3:h500 des 12 onglets par rapport à un nom de magasin. j'ai ecrit
=SOMMEPROD(NB(INDIRECT(TEXTE(DATE(;LIGNE(1:12);1);"mmmm")&"!$I$3:$I$500");A19;(INDIRECT(TEXTE(DATE(;LIGNE(1:12);1);"mmmm")&"!$F$3:$H$500"))))
mais j’obtiens 0
voila pas bien doué
merci
phil69
 

R@chid

XLDnaute Barbatruc
Re : =nb.si sur douze onglets

Bonjour @ tous,
re le forum

Encore moi, je rebut encore sur un autre problème, j'ai essayé plusieurs façons, mais rien à faire, je voudrais compter le nombre
de valeurs numérique dans les cellule f3:h500 des 12 onglets par rapport à un nom de magasin. j'ai ecrit
=SOMMEPROD(NB.SI(INDIRECT(TEXTE(DATE(;LIGNE(1:12);1);"mmmm")&"!$I$3:$I$500");A19;(INDIRECT(TEXTE(DATE(;LIGNE(1:12);1);"mmmm")&"!$F$3:$H$500"))))
mais j’obtiens 0
voila pas bien doué
merci
phil69

Peut-être que c'est la source du problème..

@ + +
 

Misange

XLDnaute Barbatruc
Re : =nb.si sur douze onglets

Bonsoir le forum
merci à Misange mais ce classeur est mis a jour avec un autre et un onglet par mois me convient mieux
phil69

Bonjour

quand je te vois écrire ce genre de choses
=SOMMEPROD(NB(INDIRECT(TEXTE(DATE(;LIGNE(1:12);1); "mmmm")&"!$I$3:$I$500");A19;(INDIRECT(TEXTE(DATE(; LIGNE(1:12);1);"mmmm")&"!$F$3:$H$500"))))
qui ne fonctionne pas, je persiste avec insistance (oui je sais c'est redondant !) pour dire que la solution que tu as choisie de faire un onglet par mois est la plus mauvaise de celles que tu peux mettre en place. Tu en as une superbe illustration ici : au lieu de faire un tableau croisé dynamique qui te génère tes onglets mensuels par un simple double clic, ce qui est extrêmement simple, facile à comprendre, à reproduire, à modifier à ta guise, tu choisis une usine à gaz qui nécessite des formules très gourmandes en ressources, et que tu as bien du mal à mettre à jour. Je n'ose imaginer la tête de celui qui éventuellement aura à utiliser ton classeur sans toi à côté, ou qui voudra le faire évoluer.

Quand bien même ton classeur est mis à jour à partir d'un autre, il est très très peu probable que tu ne puisses pas alimenter facilement une unique base de données à partir de ce classeur externe.
A toi de voir mais maîtriser excel pour moi, ce n'est pas savoir pondre des formules alambiquées pour s'adapter à un problème mal poser. C'est d'abord poser correctement le problème pour en optimiser la solution.
 

Regueiro

XLDnaute Impliqué
Re : =nb.si sur douze onglets

Bonsoir Le Forum, Phil69
Voici Ton Fichier en Retour
Selon une solution de Boisgontier

En 1ère Feuille = RECAP
Le Nom des onglets du Classeur.
Tu choisis avec un X les mois que tu veux traiter.
Ensuite la formule choisis les onglets selon Choix
Pour la 2ème Formule j'ai un petit problème, mais les spécialistes vont arriver

Comme la dis MISANGE la solution passe par un tableau avec toutes les données
et ensuite un TCD ( Tableau Croisés Dynamique )

A+
 

Pièces jointes

  • XLD_Nb-si-sur-douze-onglets-recap-cheque.xls
    468.5 KB · Affichages: 39
  • XLD_Nb-si-sur-douze-onglets-recap-cheque.xls
    468.5 KB · Affichages: 42
  • XLD_Nb-si-sur-douze-onglets-recap-cheque.xls
    468.5 KB · Affichages: 43

phil69

XLDnaute Occasionnel
Re : =nb.si sur douze onglets

Bonjour le forum

Mon fichier est alimenté par un autre,à l'ouverture du fichier source que je ne peux vous transmettre car bien trop
lourd, j'ai une macro qui m'ouvre le fichier recap cheques,avec l'onglet du mois actif (Private Sub Workbook_Open()
Workbooks.Open Filename:="C:\Documents and Settings\ys56301\Bureau\recap cheques.xls"
Dim ws As Worksheet
Set ws = Workbooks("recap cheques.xls").Worksheets(MonthName(Month(Date)))
ws.Activate
Windows("activités sociale +ancv2013.xls").Activate
End Sub)et j'ai une macro qui en plus de lancer une impression m'alimente le fichier par un copier coller( Range("A42:I42").Select
Selection.Copy
Windows("recap cheques.xls").Activate
Range("A500").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("activités sociale +ancv2013.xls").Activate
voila pourquoi j'ai fais 12 onglets et cela permet de suivre les compte avec le N° des chèques et les bénéficiaires de plusles TCD c'est vraiment pas mon fort et je ne vois pas trop comment mi prendre

merci
phil69
 

Pièces jointes

  • recap cheques.xls
    491.5 KB · Affichages: 38

Misange

XLDnaute Barbatruc
Re : =nb.si sur douze onglets

Ce que j'en dis... c'est pas pour t'emm... c'est pour t'aider ! Dire je n'y connais rien aux TCD mais te lancer dans des formules comme les tiennes c'est à peu près comme si tu disais je ne sais pas faire un oeuf à la coque, je ne connais que le saumon en croute de pâte feuilletée sauce hollandaise et sa brunoise...

dans ta macro, au lieu d'activer l'onglet du mois, tu activerais l'onglet de la base de données pour venir coller les nouveaux chèques à la suite en ajoutant juste le mois.
Promis j'arrête là mais prends quand même le temps d'aller jeter un oeil sur le lien que je t'ai indiqué pour les TCD. C'est dommage qu'ils aient pris ce nom là, il fait visiblement peur à beaucoup de gens alors que ça ne t'effraie pas de te jeter dans des formules incompréhensibles (et qui ne fonctionnent pas !).
 

Discussions similaires

Réponses
4
Affichages
357