Nb.si sur toutes les feuilles d'un classeur (Excel 2013)

Résolu/Fermé
RA|STL|N Messages postés 447 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 24 mai 2016 - 2 avril 2014 à 20:52
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 3 avril 2014 à 17:04
Bonjour,
Dans un classeur d'environ 600 feuilles, j'aimerais pourvoir appliquer le formule suivante :

=nb.si('feuil1:feuil600'!A24;a1)

ça ne fonctionne pas... Cela me renvoi #VALEUR

Quelqu'un à une idée ?
A voir également:

5 réponses

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
3 avril 2014 à 00:20
Bonjour,

Essaie avec
=SOMMEPROD(NB.SI(INDIRECT("Feuil"&LIGNE(1:600)&"!A24");A1))

A+
0
RA|STL|N Messages postés 447 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 24 mai 2016 79
3 avril 2014 à 00:32
Merci pour ta réponse
Mes feuilles ne se nomme pas réellement "feuil1"... ils ont des nom différents.
Comment dois-je utiliser ta formule sachant cela?

merci encore
0
RA|STL|N Messages postés 447 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 24 mai 2016 79
Modifié par RA|STL|N le 3/04/2014 à 00:44
Si ca peut aider toutes mes feuilles commencent par "clientes".
exemples : clientes1 (1), clientes1 (2), clientes1 (3), clientes2 (1), clientes2 (2)...
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
3 avril 2014 à 02:06
Le nom de tes feuilles ne présente pas une suite régulière.
Tu ne peux donc pas appliquer la formule que je t'ai donnée.
Une solution serait d'établir une liste des noms de tes feuilles et vérifier si chacune des feuilles contient la valeur attendue.
Par exemple avec la liste des feuilles en B1:B600, tu vérifies la présence de « X » avec la formule
=NB.SI(INDIRECT("'" & B1 & "'!A24");$A$1), formule à copier sur C1:C600

Sinon, tu peux utiliser VBA.

A+
0
RA|STL|N Messages postés 447 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 24 mai 2016 79
Modifié par RA|STL|N le 3/04/2014 à 02:27
Je ne suis pas certains que la formule que tu me propose peut régler mon problème.

J'ai probablement été pas assez clair.

Mes 600 feuilles sont fait sur le même modèle.(sauf ma feuille statistique où je veux mettre ma formule)
J'aimerais renvoyer sur la cellule a1 de ma feuille statistique, combien de fois sur la cellule A24 de chacune de mes feuilles apparait un critère précis.
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
3 avril 2014 à 08:22
J'ai bien compris.
Seulement, tes 600 feuilles ne portent pas un nom constitué d'un texte et de numéros qui se suivent.
Si le nom de tes feuilles était constitué de la façon suivante, tu aurais pu utiliser la formule initiale
clientes1 (1), clientes1 (2), clientes1 (3), clientes1 (4), clientes1 (5)...

Dans ton cas, avec des noms de feuille tel que tu l'indiques
clientes1 (1), clientes1 (2), clientes1 (3), clientes2 (1), clientes2 (2)
tu dois passer par une liste des feuilles.
La formule sert alors simplement à vérifier si la valeur critère est présente dans chacune des feuilles citées dans cette liste.
Concrètement, tu vas avoir un tableau de 2 colonnes. La première avec le nom des feuilles, la seconde avec une formule de la forme =NB.SI(INDIRECT("'" & B1 & "'!A24");$A$1)
Il suffit ensuite d'effectuer la somme pour obtenir le nombre de feuilles qui satisfont au critère.

Si tu as des difficultés à comprendre, fais moi passer ton classeur avec quelques feuilles, je te retournerai un exemple.

A+
0
RA|STL|N Messages postés 447 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 24 mai 2016 79
3 avril 2014 à 14:58
Ouff jai enfin réussi mais mon classeur est terriblement long à ouvrir.
Mille mercis à toi !!!
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 209
3 avril 2014 à 11:42
Bonjour à tous,

Proposition de fonction personnalisée NbSi3D() : https://www.cjoint.com/c/DDdlO1BVBmg

eric
0
RA|STL|N Messages postés 447 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 24 mai 2016 79
3 avril 2014 à 14:59
J'aurais aimé tester ta fonction Éric mais incapable d'activer la macro complémentaire.
0
RA|STL|N Messages postés 447 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 24 mai 2016 79
3 avril 2014 à 16:57
ok j'ai réussi par contre je ne sais pas pourquoi les calculs ne se font pas automatiquement. Je suis obligé d'entrer dans ma cellule et faire "enter" à chaque fois pour qu'il se mette à jour.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 209
Modifié par eriiic le 3/04/2014 à 17:04
mais incapable d'activer la macro complémentaire
C'est à dire ? Paralysie de l'index ou il y a un message d'erreur ?

Il faut accepter les macros à l'ouverture, et pour ça il faut que le niveau de sécurité ne soit pas au minimum dans les options.
La procédure dépend de la version excel.

Et si tu as un problème de ralentissement avec les formules le mieux serait que tu réserves une cellule sur tes feuilles pour y mettre le nb.si de la feuille. Puis tu fais une somme 3D des feuilles sur cette cellule. C'est le plus simple, mis en place en 10s et de loin le moins gourmand en ressources.

eric
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
3 avril 2014 à 15:03
0