Faire une moyenne de plusieurs classeurs
Bonjour à tous,
Je bloque sur un problème car mes connaissances sur excel sont basiques. Je me permet de faire appel à vos connaissances.
Je vous explique.
Dans mon classeur test il y a quatre feuilles qui représentent des classeurs aux noms différents.
Le nombre de colonnes ainsi que les noms sont identiques sur tous les tableaux des classeurs.
Le nombre de ligne et les noms sont différents sur les classeurs 1, 2, et 3 mais les noms sont tous connus dans le classeur 0.
Je veux obtenir les moyennes des classeurs 1, 2 et 3 dans le classeur 0.
Je pensais utiliser RECHERCHEV et SI, mais je ne sais pas comment monter la formule.
Merci par avance de votre aide.
Cordialement
Salut,
Voici une formule qui permet de réaliser ce que tu désires :
=(SI(ESTERREUR(RECHERCHEV($A2;'[Forcole 1.xls]Feuil1'!$A$2:$F$10000;COLONNE(B1);FAUX));0;RECHERCHEV($A2;'[Forcole 1.xls]Feuil1'!$A$2:$F$10000;COLONNE(B1);FAUX)) + SI(ESTERREUR (RECHERCHEV($A2;'[Forcole 2.xls]Feuil2'!$A$2:$F$10000;COLONNE(B1);FAUX));0;RECHERCHEV($A2;'[Forcole 2.xls]Feuil2'!$A$2:$F$10000;COLONNE(B1);FAUX)) + SI(ESTERREUR (RECHERCHEV($A2;'[Forcole 3.xls]Feuil3'!$A$2:$F$10000;COLONNE(B1);FAUX));0;RECHERCHEV($A2;'[Forcole 3.xls]Feuil3'!$A$2:$F$10000;COLONNE(B1);FAUX)))/3Si je me suis trompé dans la traduction de cette formule à partir de mon PC germanophone, regarde dans la cellule B2 du fichier "test" ci-joint, Excel ne s'est certainement pas trompé, lui
Cette formule est simplement incrémentée vers la droite et vers le bas dans les autres cellules.
Cordialement.
Merci Yvouille
Cependant certaines valeurs ne sont pas prise en compte.
Si je donne la valeur 10 en B2 de feuille 2 de Forcole3 celle-ci ne se retrouve pas en B3 feuille 100 test-1.
J'ai essayer de traduire la formule se trouvant en H2 de test-1, SVERWEIS pou RECHERCHEV, FALSH pour FAUX, mais pour SPLATE je sèche!!!
As tu des infos sur ce terme?
Et que dois-je faire de cette formule?
De même que la grande formule que tu m'as donner dans le post?
De plus il y a encore une autre formule en B2 de test-1.
Franchement je suis un peu perdu!! Ou alors je m'exprime mal dans ma demande.
Et mon soucis ne s'arrête pas la, si je rajoute encore d'autres classeurs, le valeurs seront elles prisent en compte? Il faudra certainement modifier la formule en conséquence.
Cordialement
Salut,
Afin de simplifier ma formule – mais également la démonstration – j’avais préparé une Feuil1 dans le fichier Forcole 1, une Feuil2 dans le fichier Forcole 2 et bien entendu une Feuil3 dans le fichier Forcole 3.
La formule que j’ai essayé de traduire fonctionnait donc parfaitement en allemand et je présume que j’ai dû merder à 100 % dans l’enregistrement de ces fichiers de démonstration et de leur envoi, puisque dans le fichier Forcole 1 il y a une Feuil4 ainsi que d’autres problèmes similaires. La formule de base ne peut donc pas fonctionner. J’en suis absolument désolé.
J’ai maintenant créé de nouveaux fichiers Forcole 1, 2 et 3 avec respectivement des Feuil1, 2 et 3 et la formule que je t’ai déjà fournie en français fonctionne presque parfaitement ; si tu en effectues un copier-coller de ma formule dans mon premier fil à la cellule B2, Excel propose quand même une correction avant de valider car il y a des espaces en trop, mais c’est tout.
Je ne comprends pas non plus qu’il y ait ce bout de formule en allemand dans le fichier Test que je t’ai fourni, puisque j’avais effacé tous ces bouts de formules qui m’avaient servi lors de la préparation. Aie, aie, aie.
Alors voici également un nouveau fichier Test_V2 avec la formule parfaite en français, puisque je suis ce soir à la maison, sur mon PC francophone.
A la limite, si tu ouvres le fichier Test_V2 depuis le Forum, il se peut que la formule soit différente, dans ce sens qu’elle fait en plus référence au chemin dans lequel se trouvent tes fichiers dans ton arborescence. Enregistre alors ces 4 fichiers dans un seul et même dossier et effectue un copier-coller du Forum à la cellule B2 du fichier Test_V2 afin de remettre les pendules à l’heure.
=(SI(ESTERREUR(RECHERCHEV($A2;'[Forcole 1.xls]Feuil1'!$A$2:$F$10000;COLONNE(B1);FAUX));0;RECHERCHEV($A2;'[Forcole 1.xls]Feuil1'!$A$2:$F$10000;COLONNE(B1);FAUX))+SI(ESTERREUR(RECHERCHEV($A2;'[Forcole 2.xls]Feuil2'!$A$2:$F$10000;COLONNE(B1);FAUX));0;RECHERCHEV($A2;'[Forcole 2.xls]Feuil2'!$A$2:$F$10000;COLONNE(B1);FAUX))+SI(ESTERREUR(RECHERCHEV($A2;'[Forcole 3.xls]Feuil3'!$A$2:$F$10000;COLONNE(B1);FAUX));0;RECHERCHEV($A2;'[Forcole 3.xls]Feuil3'!$A$2:$F$10000;COLONNE(B1);FAUX)))/3J’espère que cette fois ça joue.
NB : En comparant ma formule allemande avec la formule placée sur le fil, tu aurais dû voir que SPALTE veut dire COLONNE
Amicalement.
EDIT PRESQUE IMMEDIATEMENT APRES :
Je viens de voir ta remarque supplémentaire : "Et mon soucis ne s'arrête pas la, si je rajoute encore d'autres classeurs, le valeurs seront elles prisent en compte? Il faudra certainement modifier la formule en conséquence.".
Alors la franchement je te conseille de partir dans la direction d'une macro ; une formule telle que je t'ai présentée ci-dessous étant déjà à la limite du trop compliqué.
A ta disposition si ça t'intéresse.
Oui j’avais remarqué ce problème de fichier que j’ai modifié à ma sauce et en lisant ta formule j’ai refait les liens des feuilles mais rien n’y faisait.
Mais celle-ci marche Nikel, merci. Je peux modifier ce que je veux et ou je veux dans forcole 123.
Tu as raison de parler de macro, car en fait mon projet ne s’arrête pas là. Et puisque tu me le propose, j’accepte volontiers ton aide.
Je m’explique si tu as un peu de temps.
Voilà ce que je fais et ce que j’ai :
J’évalue les compétences d’un référentiel (82 pour être exact) avec forme de Fiches Contrats (FC) que je nomme Tp, par groupe de 6 maxi.
Elles sont reparties sur 12 modules d’activité et peuvent être évaluées plusieurs fois, mais doivent être toutes évaluées dans un temps donné, pour 30 candidats maxi.
Ces FC sont produites par une feuille Excel automatisée nommée « monTp » en lien avec le référentiel, les résultats apparaissent en faces des compétences sous forme de notes pour le candidat et de pourcentage de réussite pour moi.
Sur cette feuille, il y a trois macros qui me permettent d’effacer les données des cellules mais pas les liens, de copier cette feuille dans le classeur qui peut être modifiée, d’enregistrer le TP dans un autre classeur mais pas de le modifier.
Je peux évaluer chaque Tp 3 fois donc l’indicateur de % évolue aussi seulement sur la feuille « monTp ».
Dans notre exemple les dossiers forcole 1 2 3 ….200, sont des évaluations de Tp.
Testv2 représente un document de suivi reprenant le référentiel et les noms des candidats qui n’a aucun lien.
Ce que je n’ai pas encore, ce que je veux :
Modifier la macro copie pour pouvoir modifier le Tp une fois enregistré dans un nouveau classeur que j’appelle Tp1. En fait je veux que les liens restent actifs après la copie.
Que dans le classeur Tp1 il se crée une feuille Tp1 (donc la copie) et autant de feuille TP que de candidats, restant toutes modifiable par la feuille Tp1. Ces feuilles doivent être nominatives.
Avoir sur la feuille Tp1 le tableau forcole 1 modifié, indiquant le % de réussite détaillé et général des compétences de ce Tp (comme sur ma feuille automatisée) et les notes des candidats.
Que les valeurs en % des cellules de ce tableau soient reportées sur testv2.
Que les notes soient reportés dans une autre feuille nommée « saisie des notes » sous forme de tableau nom des Tp / nom des candidats. De même que le nom du Tp.
Avoir un lien sur chaque cellule de testv2 qui me mène aux différents Tp l’évaluant.
Avoir un lien sur chaque cellule de « saisie des notes » qui me mène seulement aux Tp que le candidat à réaliser.
Pouvoir créer et insérer au fil du temps dans ces 12 modules des TP dont les évaluations sont prises en compte dans testv2.
Avoir une macro qui m’efface toutes les évaluations en fin de cycle de formation.
Pfffff, j’ai fini….pour l’instant.
En fait je suis en train de monter ma petite usine à gaz, et si je ne t’ai pas refroidi, ton aide me sera précieuse. Pas évident à traiter, je me demande même si c’est réalisable… !
Si mon cas t’intéresse, je souhaiterais correspondre par mail pour plus de confidentialité et cela facilitera également les échanges de données.
NB : Ha la colonne… !!! Je n’ai pas poussé mon traducteur en ligne à ses limites
Salut,
Tes nouvelles demandes n'ont plus rien à voir avec ta demande initiale ! Afin d'y voir un peu plus clair, il faudrait au minimum avoir un modèle du fichier dans lequel se trouvent tes macros (y compris ces macros) et un modèle d'un fichier dans lequel tu vas chercher les données.
Je ne suis pas très intéressé à passer en privé, l'idée de ce Forum étant de faire partager. Mais rien ne t'empêche de créer des modèles représentatifs mais rendus anonymes.
Cordialement.
Salut,
Je comprends tout à fait. Je te joins une copie de mon classeur, dans le quel tu trouveras toutes mes feuilles : le référentiel, la saisie des notes, le suivi et mon TP, ainsi que les macros.J’ai rempli la feuille « mon Tp » pour que tu aies un exemple, tu peux la modifier par les listes déroulantes.
Amicalement.
Dans la précipitation j'ai oublié de je joindre, oups...
Salut,
J’ai consulté ton fichier et j’ai essayé de démarrer quelque chose sur la base de tes explications du21 septembre. Je dois alors t’avouer que je nage complètement. Tu me parles de ta manière de travailler, mais tu n’utilises pas les mêmes mots qu’il y a sur les feuilles, tu ne me précises pas sur quelles feuilles, dans quelles cellules se trouvent les données auxquelles tu fais référence, etc. De plus tu veux m’expliquer 36 choses à la fois au lieu d’y aller par étape.
J’ai alors choisi de commencer quelque chose et je me suis penché sur cette phrase :
forcole a écrit :Ce que je n’ai pas encore, ce que je veux :
Modifier la macro copie pour pouvoir modifier le Tp une fois enregistré dans un nouveau classeur que j’appelle Tp1. En fait je veux que les liens restent actifs après la copie.
J’ai alors constaté que tu n’as pas de macro COPIE dans ton fichier, je ne sais pas comment tu veux modifier le Tp (sur quelle feuille, dans quelle cellule ?), que je ne sais pas quelles feuilles doivent être reprises dans ce nouveau fichier, comment tu désires appeler le prochain fichier enregistré de la même manière et que je ne sais pas de quels liens tu parles.
Alors, on commence par un bout, on y va gentiment et tu réponds déjà à mes premières questions ci-dessus ?
Amicalement.
Salut,
Tu as raison reprenons depuis le début, je me suis emballé autant dans mes demandes que dans mes explications. Désolé. Cette fois ci j’utilise les vrais noms de feuille.
Donc dans le classeur tu as 8 feuilles. Nous allons utiliser seulement les feuilles : référentiel, saisie de notes, suivi et mon TP.
La feuille « référentiel » contient mes bases de données. Dans la colonne de gauche se trouve des capacités qui sont en lien avec la feuille « monTP » par RECHERCHEV.
La feuille « saisie de notes » permet de constater les évaluations des différents TP notées sur 20.
La feuille « suivi » devra contenir le % du taux de réussite de chaque capacités/compétence.
Enfin la feuille « monTP » est ma feuille contrat, sur celle-ci des menus déroulant sous « être capable de » colonne de gauche (pour l’ex. C1.1.4, C1.2.1, etc.), en lien avec « référentiel ». en-dessous « évaluation des compétences » on trouve une moyenne indiquée en %. Tu peux changer « note 1 » pour voir évoluer le %.
Mes macros existe bien, elles sont affectés aux boutons situés à gauche de la fiche contrat sur la feuille « monTP »: la macro copie me permet de créer une nouvelle feuille dans ce même classeur sous le nom « mon TP(2) »(ou autant que j'en veux sous monTP3, monTP4, etc.), cette nouvelle feuille est toujours modifiable dans ce classeur, fais un test.
Le bouton « enregistrer » (icone de disquette) me permet de l’enregistrer dans un autre classeur ou je veux, mais sans les liens qui le relie à « référentiel ».
Voila pour un début. J’espère être un peu plus clair dans mes explications.
Amicalement
Re,
Je t’ai dit que ta macro ‘Copie’ n’existe pas afin de te montrer à quel point il est important d’utiliser les références exactes des objets dont on parle. J’avais trouvé les macros ‘SaveFeuilleActive’, ‘copie_feuille_TP’, ‘creer_un_nouveau_classeur’, ‘effacer_le_contenu_des_cellules’ et ‘Macro4’, mais en aucun cas il existe une macro ‘Copie’ dans ton fichier.
Maintenant tu me réexpliques en long et en large le fonctionnement général de ton fichier – ce que je ne t’avais pas demandé – mais tu ne me dis pas précisément – pour le passage que je t’ai proposé de traité – qu’elles sont les opérations que tu effectues et qui causent soucis.
Alors s’il te plait, essaie d’isoler un seul problème particulier et de me l’expliquer à fond. Indique-moi par exemple quelque chose du genre : ‘Lorsque j’inscris XX dans la cellule A5 de la feuille ‘Menu’ et que je clique sur le bouton ‘Lancer la macro’ sur cette même feuille, je voudrais que la feuille ‘Mon TP’ soit dupliquée et porte le nouveau nom ‘TP XX’ mais elle prend malheureusement le nom ‘TP YY’.
Sur une telle base, je pourrais chercher comment éventuellement résoudre ce problème avant de passer au suivant.
A te relire.
Salut,
Alors voilà : lorsque je clique sur la macro « enregistrer » de la feuille « monTP » je voudrais que cette feuille soit enregistrée sous le nom ‘TP1’ et dupliquée en X exemplaires ( x = nombre de candidat) sous le nom des candidats dans un autre classeur excel, tout en gardant ces liens actifs avec la feuille ‘référentiel’ de mon classeur actuel.
Cordialement.
Salut,
Afin d'y voir un peu plus clair, j’ai commencé par faire un peu d’ordre dans ton projet : j’ai supprimé ton Module de classe et ton UserForm vides et j’ai rassemblé les macros réparties entre tous tes modules dans un seul. Mais apparemment ce ne sont que des essais que l’on pourrait supprimer.
Je n’ai pas trouvé de macro « enregistrer » dans le code de la feuille « monTP » ni ailleurs et j’ai pensé abandonner l’idée de t’aider gratuitement si tu n’y mets pas un peu du tien. J’ai par contre remarqué qu’il y avait une macro SaveFeuilleActive qui tentait de copier la feuille active et qui ouvre la boîte de dialogue. Peut-être parlais-tu de ce code. Mais alors il ne nous aide pas beaucoup en l’état.
Maintenant tu me dis que tu veux dupliquer la feuille « monTP » dans un autre fichier et j’ai compris que c’était ce nouveau fichier qui devait s’appeler « TP1 ». Si tu crées par la suite un autre nouveau fichier, comment devra-t-il s’appeler ? Toujours « TP1 » et écraser l’ancien fichier « TP1 » en place ou porter un nouveau nom ? Si oui, sur la base de quelle logique ?
Et puis tu me dis qu’il faut x feuilles « monTP » dans ce nouveau fichier selon le nombre de candidats. Mais je ne trouve pas de liste de candidats sur cette feuille et je n’ai pas cherché ailleurs ! Je ne fais plus aucun effort dans ce genre de situation tant que toi tu n'en fais pas non plus.
Tu dis que ces nouvelles feuilles doivent être « sous le nom des candidats » ! Qu’est-ce que tu veux dire ? Que le nom des candidats doit se trouver dans l’onglet de chaque nouvelle feuille ? Dans les cellules B2, B3 et B4 de chaque nouvelle feuille ?
Tu veux garder les liens actifs ; de quels liens parles-tu ?
Salut,
Comme je te l’ai dit mes connaissances Excel sont très limitées, je fais du mieux que je peux pour t’expliquer mon cas et je m’aperçois que nous n’avons pas le même langage à propos des termes à employés. Je comprends peu à peu ton fonctionnement. Je te remercie de ta patience. Je vais essayer de simplifier ma demande.
Oui je parle bien de la macro ‘SaveFeuilleActive’. Par cette macro je voudrais que la feuille ‘monTP’ soit dupliquée dans un autre fichier sous le nom ‘TP1’que j’inscris dans la cellule H3 de la feuille ‘monTP’.
Les nouveaux TP créer prendrons le nom de ‘TP2’, ‘TP3’, etc. dans des fichiers distinct.
La liste des candidats se trouve sur la feuille ’saisie de notes’ cellules K2, K3 ; L2, L3 …
Et oui les noms des candidats doivent se trouver dans l’onglet de chaque nouvelle feuille et dans les cellules B2, B3 pas la B4.
En parlant de liens actifs, je parle des listes déroulantes qui se trouvent sur les cellules A10, A11, A12, A13, A14, A15 de la feuille ‘monTP’. Peuvent-elles restées actives une fois la duplication de la feuille dans un autre fichier.
Cordialement.
Salut,
Dans ta cellule H3 de la feuille « mon TP », tu as placé une validation ….. invalide
Dans ta feuille « Saisie des notes », tu as des formules invalides dans ta plage K2:T3
Dans le fichier ci-joint, lorsque tu cliques sur ton icone « Disquette » de la feuille « mon TP », tu as le résultat voulu dans un nouveau fichier portant le nom désiré. Ce fichier est enregistré dans le même dossier que le fichier de base qui lui même est refermé et prêt pour une prochaine utilisation. Dans le nouveau fichier j'ai dû laisser la feuille « Référentiel » afin que les liaisons soient toujours utilisables.
La macro a été déplacée dans un module.
A te relire.
Salut,
Désolé pour le retard.
Merci cela fonctionne parfaitement et j'ai une encore question; ou se trouve le module contenant la macro, car je voudrais si c'est possible la placer dans le fichier original (celui envoyé est une version simplifiée).
Cordialement.
Salut, longtemps plus vu
Depuis Excel, avec Alt+F11 tu arrives dans l'Explorer VBA et tu trouves le module dans lequel se trouve la macro.
Cordialement.
Salut
Vraiment désolé pour le retard je suis très occupé en ce moment.
j'ai fait la manip est ça marche.
Merci de ton aide et de tes explications qui m'ont permis d'avancer considérablement dans mon projet, j'en ai un autre plus pressant qui vient de me tomber dessus.
En espérant encore profiter de ton aide, merci.
Cordialement.