Menu

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

nyco12 26 Messages postés samedi 20 février 2016Date d'inscription 9 mars 2018 Dernière intervention - 2 mars 2018 à 13:51 - Dernière réponse : Vaucluse 22128 Messages postés lundi 23 juillet 2007Date d'inscriptionContributeurStatut 5 juin 2018 Dernière intervention
- 9 mars 2018 à 20:54
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
Afficher la suite 

Votre réponse

36 réponses

PHILOU10120 4981 Messages postés lundi 16 avril 2012Date d'inscription 3 juin 2018 Dernière intervention - 2 mars 2018 à 19:30
0
Merci
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
nyco12 26 Messages postés samedi 20 février 2016Date d'inscription 9 mars 2018 Dernière intervention - 2 mars 2018 à 22:37
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 !
Commenter la réponse de PHILOU10120
nyco12 26 Messages postés samedi 20 février 2016Date d'inscription 9 mars 2018 Dernière intervention - Modifié par nyco12 le 5/03/2018 à 22:52
0
Merci
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
Commenter la réponse de nyco12
via55 9310 Messages postés mercredi 16 janvier 2013Date d'inscription 3 juin 2018 Dernière intervention - 5 mars 2018 à 23:06
0
Merci
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
Commenter la réponse de via55
eriiic 21658 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 5 juin 2018 Dernière intervention - 5 mars 2018 à 23:27
0
Merci
Bonjour,

tu peux aussi mettre ton nb.si() sur chaque feuille et faire une somme 3D.
eric
Commenter la réponse de eriiic
Jauster 100 Messages postés jeudi 7 décembre 2017Date d'inscription 1 juin 2018 Dernière intervention - Modifié par Jauster le 5/03/2018 à 23:55
0
Merci
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")
Vaucluse 22128 Messages postés lundi 23 juillet 2007Date d'inscriptionContributeurStatut 5 juin 2018 Dernière intervention - 8 mars 2018 à 21:52
..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
nyco12 26 Messages postés samedi 20 février 2016Date d'inscription 9 mars 2018 Dernière intervention > Vaucluse 22128 Messages postés lundi 23 juillet 2007Date d'inscriptionContributeurStatut 5 juin 2018 Dernière intervention - 9 mars 2018 à 11:58
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.
Vaucluse 22128 Messages postés lundi 23 juillet 2007Date d'inscriptionContributeurStatut 5 juin 2018 Dernière intervention - 9 mars 2018 à 12:59
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
nyco12 26 Messages postés samedi 20 février 2016Date d'inscription 9 mars 2018 Dernière intervention > Vaucluse 22128 Messages postés lundi 23 juillet 2007Date d'inscriptionContributeurStatut 5 juin 2018 Dernière intervention - 9 mars 2018 à 20:41
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
Vaucluse 22128 Messages postés lundi 23 juillet 2007Date d'inscriptionContributeurStatut 5 juin 2018 Dernière intervention - 9 mars 2018 à 20:54
...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
Commenter la réponse de Jauster