Liste déroulante

Résolu
petitnecolier Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
 petitnecolier -
Bonjour

J'ai une petite question: J'ai un classeur excel dans lequel chaque feuille correspond à une personne. Chaque feuille est identique et comprend les mêmes questions. Parmi les questions il y a une cellule "heure". J'ai fait une liste déroulante avec toutes les heures.
Sur la feuille 1 la cellule A1 aura par exemple 1h et sur la feuille 2 la cellule A1 aura par exemple 2h.
Et j'aimerais comptabiliser sur la dernière feuille du classeur excel le nombre de fois où apparaît chaque heure. Mais je ne trouve pas de formule pour cela. J'ai essayé avec NB.SI mais j'ai l'impression que ça fonctionne pour les cellules d'une même feuille mais pas pour la cellule A1 de toutes les feuilles.

S'il vous plait.... un peu d'aide^^
Merci
A voir également:

8 réponses

Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
lut,

Pas tout compris mais pour additionner toutes les cellule entre deux feuilles de ton classeur qui contient exemple 15 feuilles

=SOMME(Feuil1:Feuil15!A1)


pour compter combien de cellules sont renseignées
=NBVAL(Feuil1:Feuil15!A1)
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonsoir

Tu peux faire un recap sur ta derniere feuille
En colonne A tu mets les noms de toutes tes feuilles
En B1 tu mets = INDIRECT(A1&"!A1") et tu étires la formule en bas

Apres tu pourras appliquer NB.SI sur cette plage

Cdlmnt
0
petitnecolier Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,

Petit problème avec la formule indirect... elle ne fonctionne que quand les feuilles s'appellent feuil1, feuil2... mais moi mes feuilles ont des noms: Mme X, M. Y... Comment je fais?
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

Cela n'a rien à voir, colle ta formule dans un post voir ce qui ne va pas et explique exactement ce que tu veux faire
0
petitnecolier Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai trouvé la réponse en même temps que je t'écrivais, mais je t'envoie quand même mon message au cas où tu aies une formule plus rapide

"j'ai un classeur excel avec 100 feuilles, chacune portant le nom d'une personne. Il y a différentes questions (pour la plupart des questions fermées oui-non, donc là je sais faire) mais il y a deux questions ouvertes (date et heure) donc je dois faire des statistiques de ces deux questions aussi. Je dois savoir sur les 100 personnes combien ont répondu 1h, combien ont répondu 2h, etc.

Via55 m'a conseillé de reporter toutes les données de la case heure sur une feuille avec la formule= INDIRECT(A1&"!A1") et après de faire la formule NB.SI
Donc dans la colonne A j'ai mis le nom de mes feuilles (Mme X, M. Y, ...) et dans la colonne B j'ai fait la formule = INDIRECT(A1&"!A1")
Mais quand les feuilles s'appellent feuil1, feuil2, feuil3 la formule fonctionne mais quand les feuilles s'appellent Mme X, M. Y, ça ne marche pas"


J'ai donc trouvé mon erreur, il ne faut pas mettre d'espace entre Mme et X, je dois nommer ma feuille MmeX et non Mme X. Et là ça fonctionne très bien
0
petitnecolier Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Par contre quand j'écris feuil1, feuil2 et après je fais glisser vers le bas et ça m'écrit feuil3, feuil4... tout seul. Par contre si j'écris MmeX, M.Y et que je fais glisser vers le bas ça ne me copie pas tout seul les noms des feuilles suivantes. ça c'est pas cool. Donc je crois que je vais devoir écrire à la main les 100 noms dans ma colonne.
0
petitnecolier Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour vos formules, je les ai essayé mais ça ne donne pas ce que je veux. Je n'ai pas dû m'expliquer très clairement.

Imaginons que la 1ere personne (1ere feuille) réponde 1h, la 2e personne (2e feuille) réponde 2h et la 3e personne (3e feuille) réponde 1h. J'aurai besoin que sur la 4e feuille (feuille récapitulative des résultats) il y ait un tableau avec 1h; 2h; 3h.. et qu'à chaque fois la case d'à côté se mette à jour automatiquement. C'est à dire que dans cette exemple en face de 1h il y ait le chiffre 2 et en face de 2h le chiffre 1 et en face de 3h le chiffre 0.

Je n'ai jamais fait ce genre de chose, ce n'est peut-être pas possible...^^

Merci à vous
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Avec NB.SI tu peux bien faire le tableau à partir de mon exemple

Je te prépares un fichier et je te l'envoie
0
petitnecolier Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai réussi à faire ta formule.
J'ai refait un tableau sur la dernière page et ça fonctionne.
Merci beaucoup
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Tant mieux ;)
Bonne suite
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
RE,

une formule intéressante, dans une colonne hors champ tu listes tes onglets à traiter
et tu nommes cette liste, dans mon exemple nommée List

la formule pour compter le 1
=SOMMEPROD(NB.SI(INDIRECT(List&"!A1" );1))
la formule pour compter le 2
=SOMMEPROD(NB.SI(INDIRECT(List&"!A1" );2))
etc ...

ou dans une cellule tu saisis l'occurrence à compter exemple
en Q1 =1
en Q2 =2 etc ...
cette formule ex. en R1 et incrémenter vers le bas
=SOMMEPROD(NB.SI(INDIRECT(List&"!A1" );Q1))

si les valeurs à compter sont de 1 en 1 et la formule doit être incrémentée vers la droite pour avoir une lecture linéaire il est possible d'inclure la fonction COLONNE() qui donne la numéro colonne ex en N colonne numéro 14 -13 donnera 1 en colonne O donnera 2 etc ...
la formule en colonne N et incrémenter vers la droite

=SOMMEPROD(NB.SI(INDIRECT(List&"!A1" );COLONNE()-13))

pour incrémenter vers le bas utiliser la fonction LIGNE()

Si la formule t'intéresse fait signe je te ferais un petit montage
0

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

Posez votre question
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

pour lister les onglets de ton classeur il y a une solution par formule si tu veux, combien as tu d'onglets
0
petitnecolier Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Ahhhh une formule, ce serait bien ça une formule^^

Bah au tout départ je vais avoir 90 onglets (90 personnes) mais au cours de l'année il va y en avoir des nouvelles (mais celles là je peux les rajouter à la main ce sera pas gênant).

C'est plus les 90 du début. Je ne sais pas trop ce qui est le plus simple.
-Faire d'abord la liste des personnes sur une des feuilles en colonne A et que les onglets se fassent tout seuls ou
-faire mes onglets un par un et après avoir une formule pour les répertorier sur une feuille.

Sachant que j'aurais une petite préférence pour la première solution parce que j'ai déjà la liste des personnes sur une autre feuille excel. Donc si je pouvais copier-coller cette liste sur mon nouveau classeur excel et que mes onglets se fassent tout seul ce serait trop top^^

En tout cas merci beaucoup pour ton aide.
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

ce problème se traite par matricielle ou VBA,
par matricielle je te conseille de créer un nouvel onglet qui ne servira que pour lister tes onglets, après on le supprimera
tu vas créer un champ dans le gestionnaire des noms, dans Nom tu saisis le nom que tu souhaites donner au champ exemple list
et dans fait référence à tu colles cette formule
=TRANSPOSE(DROITE(LIRE.CLASSEUR(1);NBCAR(LIRE.CLASSEUR(1))-TROUVE("]"; LIRE.CLASSEUR(1))))

ensuite sur la feuille que tu as provisoirement créé, tu vas mettre en surbrillance un nombre de cellule en fonction du nombre d'onglet exemple pour 90 onglets allez mettons 100 cellules en surbrillance de A1 à A100 par exemple et dans la barre des formules tu saisis =list (=le nom que tu as donné au champ)
et tu confirme comme une matricielle avec les touches Ctrl, Shift et Entrée

reste plus qu'à copier à l'endroit ou tu le souhaites la liste renseignée, le cellule en surnombre par rapport au nombre d'onglet afficheront #N/A

Si tu décides conserver cette matricielle pour une mise à jour de la liste d'onglets, il suffit de mettre en surbrillance toute la liste, puis clic sur Suppr et annulation, la liste s'affiche actualisée

tu peux également supprimer le message d'erreur #N/A, exemple pour une liste qui commence en A1, en B1 par exemple tu écris cette formule =sierreur(A1;"") et tu incrémente vers le bas
0
petitnecolier Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup beaucoup beaucoup pour votre aide à tous les deux c'est cool.

Je vais gagner un temps précieux.
A+
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

Si tes attentes sont satisfaites, passe le statut de la discussion en résolu ou confirme le moi que je le fasse pour toi, cette discussion mérite servir de référence

Je supprimerai également tous les post qui ne présentent aucun intérêt

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
petitnecolier
 
Oui je veux bien que tu mettes "résolu", (j'ai pas trouvé où fallait cliquer... :-s)

Et merci encore
0