Recherche formule Excel

Résolu
faisdlair Messages postés 175 Statut Membre -  
faisdlair Messages postés 175 Statut Membre -
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.

Généré automatiquement par IA
sur la base des meilleures réponses
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 

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
faisdlair Messages postés 175 Statut Membre 6
 

Bonjour Mike,

Merci pour tout, j'apprécie vraiment

0
faisdlair Messages postés 175 Statut Membre 6
 

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
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 

Salut,

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


0

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

Posez votre question
Mike-31 Messages postés 19572 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 

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
faisdlair Messages postés 175 Statut Membre 6
 

Bonsoir Mike,

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

Merci,

0