Recherche formule Excel

Résolu
Bonjour,

Configuration: Windows / Edge 98.0.1108.55


J'ai besoin d'aide pour une formule.
Le premier onglet se nomme TABLES sur lequel les données progresses constamment. La première colonne contient des noms d'employés.
Les 52 colonnes suivantes contiennent un nombre d'heures travaillées par semaine pour lesquels ces données sont entrer manuellement.

Les autres onglets (selon le nombre de noms des employés a la colonne A du premier onglet), seront nommé selon le nom de chaque employé.

Donc ma demande est : a la colonne C de chaque onglet, d'afficher la valeur correspondante au nom de l'employé pour chaque employé pour le nombre d'heures par semaine.

Je mets le fichier pour bien voir ma demande.

https://www.cjoint.com/c/LBuqTGA4YAY

Merci

46 réponses

Résumé de la discussion

Le problème consiste à récupérer dans chaque onglet nommé d’après un employé, en colonne C, la valeur des heures hebdomadaires correspondantes dans l’onglet TABLES, qui répertorie les noms et les 52 semaines. La solution proposée exploite une combinaison INDEX-MATCH avec une extraction du nom d’employé à partir du nom de l’onglet, et nécessite d’ajuster la longueur du nom (passer 20 à 30 caractères) et d’assurer l’orthographe exacte du nom dans TABLES. Il est recommandé que le nom affiché dans les onglets corresponde exactement à celui de TABLES et de vérifier les espaces ou caractères invisibles, en copiant/collant le nom si nécessaire. Le fil indique que la formule peut fonctionner pour l’utilisateur, mais des échanges portent aussi sur une macro d’import et sur des soucis potentiels lors de l’extension de la formule ou du mappage des plages, pouvant provoquer des erreurs #REF lors du glissement ou de l’extension sur les lignes.

Bobot (l’IA à votre service)
  1. Bonsoir Mike,

    Merci pour le retour, je comprends tes explications, je regarde ca de plus près

    Merci,

    0
    1. Re,

      J'ai jeté un oeil sur ton fichier,

      l'adaptation du code à tes fichiers qui change de nom ne pose aucun problème en mettant en début du Module VBA trois constantes

      Public Const Pilote As Variant = "C2023.xlsm" 
      Public Const Chantier_MR As Variant = "SUIVI CHANTIERS MR 2023.xlsx"
      Public Const Chantier_QC As Variant = "SUIVI CHANTIERS QC 2023.xlsx" 

      par contre tu as reconsidéré tous tes onglets agents ce qui pose problème, la cellule G55 est devenue J2

      en plus tu as empilé les années et donc pour 2023 la cellule est J56 avec cette formule

      =SIERREUR(RECHERCHE(9^9;G3:G217);"")

      comme d'ailleurs J111 pour 2024 etc ...

      cette formule rapatrie la dernière valeur de la colonne G donc  J2, J56, J111 etc ... affiche la même et dernière valeur de la colonne G, alors qu'en J2 la recherche devrait s'arrêter à la cellule G54, pour la cellule J56 la recherche devrait s'arrêter à G109 etc ...et pour adapter le code VBA c'est le même problème

      en plus tu surcharges ton fichier, pourquoi ne fait tu pas un fichier agent par an


      s ta colonne A tu as tous 

      0
      1. Salut,

        Envoi toujours, si je peux, mais cette semaine ça va être plus que chaud


        0
        1. Bonjour Mike,

          J'utilise ton fichier maintenant et c'est super, mais il y a une fonction qui ne fonctionne pas bien, alors peut tu me revenir en privé que je te retourne le classeur avec les infos nécessaires

          Merci

          0
          1. Bonjour Mike,

            Merci pour tout, j'apprécie vraiment

            0
            1. Re,

              Je crois que nous arrivons à la fin de la discussion que tu as relancé, le code VBA qui recrée les formules permet en outre refaire les formules dans le cas d'erreur mais surtout reconsidérer et actualiser les plages de travail qui sont régulièrement diminuées par la suppression des lignes en doublon sur l'onglet TABLES et donc génère des erreurs sur l'onglet RECAP.

              Pour éviter ces erreurs, deux solutions ou on reconsidère les formules manuellement ou automatiquement par VBA solution que j'ai privilégier ou à la place de supprimer les lignes en doublon on efface le contenu et on se retrouve avec des lignes vides un peu partout comme un gruyère.

              A la prochaine


              0
              1. Bonjour Mike,

                Désolé pour ma réponse tardive. Je n'avais pas essayé le bouton banque, alors tout fonctionne bien maintenant.

                Je te remercie infiniment

                0
                1. Re,

                  L'onglet RECAP fonctionne parfaitement, en A5 tu as cette formule

                  =TABLES!A5

                  en C5

                  =SIERREUR(INDIRECT("'" & SUBSTITUE($A5;"_";" ") & "'!G55");"")

                  ces deux formules incrémentées  au cas ou il y aurait une erreur, ensuite l'activation du bouton BANQUE permet de récupérer les données et pour ma part je ne vois pas d'erreur


                  0
                  1. Bonjour Mike,

                    Je viens de voir dans le gestionnaire de noms, que les plages (tablo et noms) n'incluaient pas les bonnes pages. J'ai ajusté et ca fonctionne bien pour l'onglet RECAP. 

                    Le plus pratique serait d'inclure ces 2 pages dans la macro

                    Merci,

                    0
                    1. Re,

                      Tu rencontreras également un problème avec tes plages nommées  NOMS et TABLO qui raccourcissent à chaque suppression des lignes en doublon ce qui est normal vu que tu supprimes des lignes à l'intérieur de ces plages ce qui génèrera les messages d'erreur  #N/A  sur tes formules

                      alors soit tu revois régulièrement ces deux plages ou on inclus dans la macro l'actualisation de ces plages nommées.


                      0
                      1. Bonsoir Mike,

                        Ok merci je fais les changements.

                        Merci et a bientôt

                        0
                        1. Re,

                          en ce qui concerne les nombres avec deux décimales, il te suffit de déprotéger l'onglet TABLES et sélectionner la plage C5:BB100 puis clic droit sur la sélection/Format de cellule/Nombre/Nombre et choisir le format souhaité.

                          Pour les formules de l'onglet RECAP, en A5 réécrire la formule =TABLES!A5 

                          en B5 =SIERREUR(INDIRECT("'" & SUBSTITUE($A5;"_";" ") & "'!G55");"")

                          sélectionner A5 et B5 et incrémenter vers le bas exemple jusqU40 LA LIGNE 100

                          veiller que chaque onglet est reprotégé et enregistrer le fichier pour conserver les modifications


                          0
                          1. Bonjour Mike,

                            Oui il faut effacer toutes les lignes y compris celles qui sont masquées. Et importer a nouveau pour ne pas avoir de données en double.

                            Merci,

                            0
                            1. Re,

                              Donc en résumé sur l'onglet TABLES il faut effacer les données existantes, puis importer les données des classeurs CHANTIER qui s'additionnent.

                              Mais si tu suis cette logique tu vas créer des doublons avec les lignes masquées ou il faut supprimer toutes les lignes y compris les masquées avant d'importer les données CHANTIER !


                              0
                              1. Bonsoir Mike,

                                Les données qui sont importées de l'onglet TEST s'additionneront toujours a ceux actuelles a l'onglet TABLES, c'est ce que j'en comprends. Donc il faut que les nouvelles données écrasent les anciennes, ou bien les effacer avant d'importer.

                                Est-ce possible 

                                Merci et bonne nuit

                                Martin.

                                0
                                1. Re,

                                  pour répondre à ton questionnement :

                                  je viens de tester et j'aime ca.  Pourquoi a chaque importation, ne pas supprimer a la place, les données a l'onglet TABLES du classeur C2022.

                                  Les données importées sur l'onglet TABLES sont automatiquement supprimées après l'importation et additionnées aux données existantes.

                                  le risque de problème peut venir du fait que si tu conserves les données déjà importées des onglets TEST des classeurs chantier ... si tu actives le bouton IMPORTER QC & MR & Cumul les données vont à chaque fois être additionnées sur l'onglet TABLES.

                                  maintenant c'est toi qui voit, 


                                  0
                                  1. Bonsoir Mike,

                                    Pour regrouper les données des noms en double, sur la même ligne, tu mentionnes que c'est dimanche, lundi et mardi.

                                    Ces jour affichés sont issue d'une formule qui indique le premier jour travaillé de cette semaine. Regarde la cellule C2.il est indiqué que chaque date a la ligne 3 correspond a la date finissant de cette semaine. Donc le 7 mars serait a la colonne L, soit la semaine finissant le 12 mars.

                                    Je te souhaite une bonne semaine, qui semble assez occupée.

                                    Merci encore,

                                    Martin,

                                    0
                                    1. Re,

                                      Fusionner les doublons n'est pas un problème, le problème réside du fait que les données à récupérer dans les deux fichiers Chantier sont enregistré dimanche, lundi, parfois le mardi quand apparemment le lundi est férié, et ces données doivent être transcrite le samedi fin de semaine.

                                      la question que je me pose est, les sommes exemple enregistré le Lundi 07 mars 2022 sur le fichier C2022 on les enregistre 05 mars ou le 12 mars

                                      de toute façon avant de les copier sur le fichier de réception C2022 il faut déjà les transcrire en tableau.

                                      Cette semaine ça va être chaud mais je regarderai dès que possible


                                      0
                                      1. Bonjour Mike,

                                        Ton explication est juste et tu as bien compris ma demande. 

                                        Oui de fusionner les doublons et additionner les valeurs après l'importation, rendra plus simple les formules a l'onglet RECAP a la colonne A

                                        Merci,

                                        0
                                        1. Re,

                                          je comprends mieux pourquoi des agents pouvait être en doublon sur C2022

                                          Donc pour être clair, tu clic sur le bouton IMPORT le code va sur le fichier suivi chantier_1 copie la plage A8:BC35 sur le fichier C2022 onglet TABLES, puis active le classeur suivi chantier_2 copie la plage A8:BC35 et la colle dans C2022 à la suite 

                                          et pour éviter les doublons il faut additionner les valeurs d'un même agent et supprimer les lignes en doublon

                                          c'est bien ça pour n'en conserver qu'une !


                                          0
                                          • 1
                                          • 2
                                          • 3