Problème pour formule NB.SI [Résolu/Fermé]

Signaler
Messages postés
27
Date d'inscription
samedi 20 février 2016
Statut
Membre
Dernière intervention
16 juillet 2020
-
Messages postés
25769
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
27 janvier 2021
-
Bonjour à tous,

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

Messages postés
5533
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
8 janvier 2021
552
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
Messages postés
27
Date d'inscription
samedi 20 février 2016
Statut
Membre
Dernière intervention
16 juillet 2020

Merci Philou,

C'est une solution, pas moyen en revanche de mettre quelque chose comme :
=NB.SI('mars 2017':'mai 2017'!A1:L60;"libre") ?

Merci de votre aide !
Messages postés
27
Date d'inscription
samedi 20 février 2016
Statut
Membre
Dernière intervention
16 juillet 2020

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
Messages postés
12908
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
26 janvier 2021
2 109
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
Messages postés
23816
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
26 janvier 2021
6 598
Bonjour,

tu peux aussi mettre ton nb.si() sur chaque feuille et faire une somme 3D.
eric
Messages postés
126
Date d'inscription
jeudi 7 décembre 2017
Statut
Membre
Dernière intervention
31 août 2018
15
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")
Messages postés
25769
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
27 janvier 2021
5 740
..suite
et avant de passer aux trois colonnes que je propose dans le message d'avant, essayez quand même la configuration ci dessous:

=SOMME(SIERREUR(1° formule recherche);");SIERREUR(2°formule recherche);"")
enn remplaçant ler + par ;
suis à la bourre
crdlmnt
Messages postés
27
Date d'inscription
samedi 20 février 2016
Statut
Membre
Dernière intervention
16 juillet 2020
>
Messages postés
25769
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
27 janvier 2021

Je pense que c'est une bonne idée, mais je pense avoir un problème avec les parenthèses.

=SOMME(SIERREUR(RECHERCHEV(A11;INDIRECT("'"&INDEX(NOMFEUILLE;EQUIV(1;--(NB.SI(INDIRECT("'"&NOMFEUILLE&"'!$A:$A");A11)>0);0))&"'!$A:$I");8;FAUX));"";(SIERREUR((RECHERCHEV(A11;INDIRECT("'"&INDEX(NOMFEUILLE;EQUIV(1;--(NB.SI(INDIRECT("'"&NOMFEUILLE&"'!$A:$A");A11)>0);0))&"'!$A:$I");9;FAUX));"")))

Dans l'attente.
Messages postés
25769
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
27 janvier 2021
5 740
Il ne me semble pas que ça fonctionne, j'ai testé (en vitesse), par contre le fichier à 3 colonnes lui fonctionne
Si tu veux quand même essayer la formule:
tu as remplacé le + par ;""; mais pour assurer la, fonction SOMME, il faut juste séparer les deux items par un point virgule, et c'est tout
bonne chance
E dernier recours, jette quand même un œil sur le fichier à 3 colonnes
crdlmnt
Messages postés
27
Date d'inscription
samedi 20 février 2016
Statut
Membre
Dernière intervention
16 juillet 2020
>
Messages postés
25769
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
27 janvier 2021

Cher Vaucluse et Cher Jauster,

Grâce à votre aide si précieuse mon fichier est enfin terminé !
Concernant mon dernier point, j'ai procédé de manière différente en prenant le problème dans l'autre sens.
Je m'explique,
1/je voulais que ma formule dans "récap" fonctionne correctement quant à l'addition de 2 cellules fonctionnant par une formule recherche.
2/je ne voulais pas que dans mes onglets soit affiché les heures majorées s'il n'y en avait pas mais une cellule vide et non à 00:00
3/ sauf que les formules recherche V ne peuvent s'additionner que s'il y a une valeur même à 00:00

Résultat : dans chaque onglet j'ai fais une mise en forme conditionnel en indiquant que si la cellule affiche 00:00 alors elle est coloriée entre le fond et la police de la même couleur donc "invisible". Sinon couleur de fond sur police noire.
Dans ce cas la formule d'addition des "RECHERCHES" dans "RECAP ne pose plus aucun souci car elle prend en compte uniquement des valeurs et non des cellules vides.

Merci à vous deux encore une fois !!!

Nyco
Messages postés
25769
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
27 janvier 2021
5 740
...bien , merci alors de pointer le sujet en résolu (roue entée sous le titre)
en aparté:
pour ne pas voir les valeurs 0 dans une feuille quelque soit le format de cellule (date, heure, num) le plus simple:
onglet Fichier / dans la fenêtre qui s'affiche:Option (en bas)
option avancées et dans la liste décocher: "afficher un 0 dans les cellules de valeur nulle"
Bonne soirée
crdlmnt