Problème pour formule NB.SI
RésoluVaucluse Messages postés 27336 Date d'inscription Statut Contributeur Dernière intervention -
Je fais appel à vous, les experts d'Excel car je souhaiterais faire une formule NB.SI qui prendrait en compte les données inscrites sur plusieurs feuilles d'un même classeur.
Voici la formule NB.SI que j'ai faite sur la feuille dénommée "MARS 2017" =NB.SI(A1:L60;"LIBRE")
Celle-ci fonctionne parfaitement (en même temps rien de plus facile)
En revanche j'aimerais pouvoir, plutôt que de faire cette formule sur toute les feuilles du classeur et ensuite d'additionner le résultat, faire une formule NB.SI dans la feuille récap. qui irait rechercher sur la même plage (A1:L60) de toutes les feuilles du classeur, le même mot "LIBRE"
Le nom des feuilles sont par exemple : MARS 2017, AVRIL 2017, MAI 2017....
Pouvez vous m'aider sur ce point.
Merci d'avance pour toutes vos réponses.
Bien amicalement.
Nyco
5 réponses
Le besoin est de compter, sur l’ensemble des feuilles d’un classeur, les occurrences de la valeur « LIBRE » sans multiplier les NB.SI par chaque onglet, afin d’obtenir un total unique dans le récapitulatif. Des solutions proposées utilisent une liste des noms de feuilles et une fonction INDIRECT associée à NB.SI ou SOMMEPROD pour agréger les résultats sur toutes les feuilles. L’exemple courant consiste à placer les noms des feuilles dans une plage A1:A12 et à utiliser =SOMMEPROD(NB.SI(INDIRECT($A$1:$A$12&"!A1:L60"),"LIBRE")) pour un total global. D’autres approches évoquées traitent les cas où les cellules demeurent vides en les convertissant en zéro via SIERREUR et adaptent les plages lorsqu’il faut étendre la recherche à des colonnes supplémentaires.
-
Bonjour Nico12
Une idée
=NB.SI('mars 2017'!A1:L60;"libre")+NB.SI('avril 2017'!A1:L60;"libre")+NB.SI('mai 2017'!A1:L60;"libre")
vous additionnez les douze feuilles
-
Bonjour à tous,
1/J'ai cru voir sur certains forums que nous pouvions créer la formule NB.SI.3D ?
Celle-ci me servirait à savoir combien de fois la valeur "LIBRE" est inscrite dans le classeur entier sur les onglets nommés de Janvier à Décembre.
Cela m'éviterait de créer des tonnes de formules dans chacun des onglets et ensuite de les additionner. (J'ai excel 2013)
2/ Sur chaque onglets, j'ai le numéro de la semaine avec un nombre d'heure.
exemple, dans la cellule A15 "TOTAL SEMAINE 5" et en cellule G15, le nombre d'heure s'y référant.
Je souhaiterais mettre dans le récap que si dans le classeur la cellule s'appelle "TOTAL SEMAINE 5" qu'il me copie les heures y figurant afin de faire un global sur l'année.
Pouvez vous m'aider svp ?
Merci à tous de votre aide.
Nyco -
Bonsoir Nico
Avec la formule de Jacques Boisgontier (voir d'autres exemples sur son site):
Dans la feuille RECAP mettre par exemple en A1:A12 les noms des 12 onglets, puis dnas une cellule la formule :
=SOMMEPROD(NB.SI(INDIRECT($A$1:$A$12&"!A1:L60");"LIBRE"))
Cdlmnt
Via
-
Bonjour,
tu peux aussi mettre ton nb.si() sur chaque feuille et faire une somme 3D.
eric
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonsoir,
En utilisant une Function à insérer dans un module :
Function monNbSi(rng As Range, criteria) As Long Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets 'If ws.name <> "Feuil1" And ws.name <> "Feuil2" Then 'si tu souhaites éviter certaines feuilles monNbSi = monNbSi + WorksheetFunction.CountIf(ws.Range(rng.Address), criteria) 'End If Next ws End Function
S'utilise ainsi : =monNbSi(plage;critère), donc =monNbSi(A1:L60;"LIBRE")-
Bonsoir Jauster,
Merci déjà de ton aide.
J'ai bien crée ma fonction mais lorsque je veux la mettre en application comme tu me l'as écrit.
Il me met le message d'erreur suivant.
"Attention votre classeur contient une ou plusieurs références circulaires qui risquent d'entraîner des erreurs de calcul dans vos formules."
Pouvez vous de nouveau me venir en aide.
Merci d'avance.
Nyco. -
-
-
https://wetransfer.com/
Et il faut ensuite partager le lien ici -
-