Recherche entre fichier

recherche onglets

Bonjour,

Je suis nouveau sur ce forum, j'ai quelques connaissances dans Excel mais là j'arrive à mes limites.

Je pense que ce que je souhaite faire est réalisable mais j'ai besoin de votre aide...

Je vous ai joint une capture d'écran essayant d'éclaircir mon explication sur ce que je souhaite faire!

Dans la colonne présence j'ai besoin de mettre une information qui se trouve dans un autre fichier.

Ce fichier source en réalité il y en a plusieurs et les informations se trouvent dans plusieurs onglets.

Et je voudrai éviter de devoir chercher manuellement l'information... Sachant que tous les onglets et tous les fichiers sources sont identique. Dans l'aperçu qu'on voit à droite, c'est toujours l'information à coté de la case "recap semaine" qu'il me faut.

Dans mon fichier ou je veux faire apparaitre le résultat j'ai l'information de l'emplacement du fichier dans la colonne K, et l'information de l'onglet dans la colonne G.

Maintenant comment faire ???

Dans la colonne I je veux : "Cherche l'information qui se trouve à droite de la cellule "recap semaine" du fichier dont le lien est en colonne K et l'onglet est en colonne G"

J'attend votre aide avec impatience.

Et d'avance merci aux experts Excel...

Personne pour m'aider?

Avec tout ce qu'on peut faire sous Excel ca doit être réalisable non?

D'avance merci pour votre aide!!!

Bonjour,

Il est nécessaire d'ajouter une librairie, si tu ne sais pas comment faire n'hésite pas.

De même si le VBA ne te dit rien.

Cordialement

La valeur que tu recherches est toujours en B46?

Dans ce cas : essaye =INDIRECT("'[montage 52 2019.xls]"&G1&"'!B46")

En gros ca doit aller chercher la valeur de la cellule B46 dans l'onglet qui porte le même nom que ta cellule G1 de ton fichier (soit SEM01) dans le classeur montage 52 2019

Si ca ne marche pas essaye sans le .xls ou met .xlsx si c'est ce type de fichier

Bonjour,

Il est nécessaire d'ajouter une librairie, si tu ne sais pas comment faire n'hésite pas.

De même si le VBA ne te dit rien.

Cordialement

Merci pour ce conseil, il faut que je "fouille" ta réponse, parce que VBA ne m'est pas inconnu, mais je crée des programme avec des macros, quand il s'agit de l'écrire ce n'est plus pareil...

La valeur que tu recherches est toujours en B46?

Dans ce cas : essaye =INDIRECT("'[montage 52 2019.xls]"&G1&"'!B46")

En gros ca doit aller chercher la valeur de la cellule B46 dans l'onglet qui porte le même nom que ta cellule G1 de ton fichier (soit SEM01) dans le classeur montage 52 2019

Si ca ne marche pas essaye sans le .xls ou met .xlsx si c'est ce type de fichier

Merci pour ce conseil.

Sur la base ca fonctionne, sauf qu'en réalité je souhaitais me baser la dessus pour développer, et c'est là que ca pèche... Dès que je complexifie la chose ca ne fonctionne plus. Je m'explique :

  • Dans la colonne G ce n'est pas du texte, c'est une formule avec un format spécifique, no.semaine de la colonne A avec un format de cellule personnalisé pour écrire SEM01. Du coup quand je met la formule il ne le prend pas, je pense qu'il cherche l'onglet qui s'appel soit la formule soit le résultat, mais pas la valeur de la cellule...
  • Le liens vers le fichier je souhaiterai passer par une recherche horizontale et le lien qui se trouve en U2 et pas simplement indiquer le fichier proprement dis.
  • Et enfin la cellule B45, dans la majorité des cas c'est bien ca, mais ca peut varier, et si je met une recherche vertical en place il faut que mon tableau soit rangé dans l'ordre croissant, et ca je ne peux pas.

En résumé si je complexifie ma demande ca ressemblerai plutôt a ca :

Vas chercher le chiffre qui est dans la case à côté de "recap semaine" (sachant que la colonne A de ce fichier n'est pas rangé de manière croissante), de l'onglet de la valeur de la cellule G (et non la formule ou le résultat de la formule), et du fichier dont le lien est en U2, lien qui se trouve via une recherche horizontal de la case J dans le tableau S1:X2.

Ou tout l'art de rendre les choses difficile!

Si vous arrivez à me trouver la solution vous me sortez une épine du pied. Parce que j'ai besoin de chercher cette valeur pour mon tableau, et pour l'instant j'en suis à 5000 lignes, et c'est un tableau "vivant" dans lequel j'ajoute environ 30 à 50 lignes par jour... Autant dire que la recherche manuelle j'y passerai la journée!

D'avance merci aux experts qui arriveraient à m'aider!!!

Rien que le fait de demander d'aller chercher le fichier en fonction d'un lien réseau va nécessiter une macro.

Et la je n'ai pas l'expertise. Mais il est certain que c'est faisable! Au final il n'y a pas tant de conditions que cela.

Il y a clairement des pro de la macro pour solutionner ton problème ici

Ok, je me doute bien que c'est faisable, je pensai pas qu'il fallait forcément passer par VBA, ca ne me dérange pas, le tout est de savoir comment écrire le programme...

Comme dis je sais faire du VBA en enregistrant des macros, mais après les ajuster ou les écrire c'est une autre paire de manche...

Si des Experts pouvaient m'aider ca serai top.

Si besoin je peux envoyer 1 ou 2 fichiers pour exemple...

Re,

n'es tu pas près de la solution ?

Quand je regarde l'image de ton premier post, j'ai l'impression que ta formule fait ce que tu souhaites.

Oui mais lorsque j'ajoute des formules ca me bloque...

Par exemple mettre une fonction de rechercheh ou recherchev a l'intérieur de la fonction indirect je bloque. Ou même insérer le chemin complet vers l'autre fichier (si je met juste le nom du fichier il faut qu'il soit ouvert) là aussi ca bloque...

Je vais t'aider mais je ne vais pas faire le code, je vais juste t'expliquer la marche à suivre et répondre à tes questions (je suis assez occupé), ça te va ?

En plus, tu sauras mieux utiliser le VBA après

Désolé de ne pas avoir répondu assez vite,

Je suis preneur évidemment... Même doublement preneur...

Résoudre mon problème est le point de départ, mais si en plus je le fais et que ca me perfectionne dans Excel ca me va bien!

(Excel, le super logiciel pour te montrer que même quand tu penses maitriser un sujet, il te reste encore énormément à apprendre...)

Alors voici la marche à suivre : (bien-sur je pense qu'elle peut être largement amélioré mais c'est ce que moi j'aurai fais)

Prérequis : tu gagneras énormément de temps d’exécution en retirant l’affichage pendant l’exécution (je te laisse trouver comment, il existe une propriété très connu)

-Boucler sur chaque ligne de ton fichier principal (à partir de maintenant on exécute tout le reste à CHAQUE ligne)

-Récupérer l’emplacement, récupérer le numéro la semaine

-Ouvrir le classeur selon l’emplacement et la feuille selon la semaine

-Repérer la cellule recherchée près de « RECAP SEMAINE »

-Stocker sa valeur dans une variable

-Fermer le fichier et ajouter la valeur dans ton fichier sur la même ligne

-Enfin on passe à la ligne suivant (fin de la boucle)

Si tu as des questions où tu ne trouves pas la solution (sur la documentation ou sur les forums) n'hésite pas.

Alors, je crois avoir compris le principe, dis moi si je me trompe (je reformule pour vérifier)...

Je crée une macro la laquelle je démarre dans la bonne case, je tape ma formule en allant chercher les éléments nécessaire, et je valide en me mettant sur la ligne inférieur. Ensuite je lance ma macro un nombre nécessaire de fois pour remplir mon tableau...

Le stockage de la variable... la variable c'est la macro que je devrais répéter plusieurs fois? Mais je la stock ou?

Je n'aurais pas le temps de faire le programme aujourd'hui, peut-être un peu de temps demain matin (encore que, beaucoup de réunions...) mais je relance le sujet la semaine prochaine... Au cas ou tu ne vois pas de réponse de ma part ce week-end ne t'étonne pas...

(L'exécution d'une macro en retirant l'affichage je ne connaissais pas, j'ai trouvé, et j'ai essayé sur des macros qui prenaient quelques secondes, et en effet c'est top!)

Encore merci pour le début d'aide que tu m'apportes (et d'avance merci pour l'aide à venir... )

Le stockage de la variable... la variable c'est la macro que je devrais répéter plusieurs fois? Mais je la stock ou?

Sais-tu ce qu'est une variable en programmation ?

On atteint rapidement un niveau autonome de cette manière.

Ne t'inquietes pas ce qui serait étonnant c'est que je sois présent sur le forum le week-end

Non je ne sais pas...

Comme je t'ai dis mon niveau dans Excel je m'estime plutôt bon (ou pas mauvais) mais en programmation très très limité... Comme dis, les seuls programmations que je fais sont des macros que j'enregistre. Ensuite j'arrive à comprendre (en gros) ce qui est écris, donc j'arrive à ajuster ma macro (changer les limites d'une sélection, faire du copier coller d'une autre macro à un endroit pour cumuler plusieurs choses) en gros très faible niveau lol...

De toute évidence, te donner la marche à suivre ne suffira pas.

Tu devrais te tourner vers des guides en ligne comme ceux-ci (1 et 2).

Je pense que si tu termines c'est deux cours (ça devrait pas te prendre plus d'une journée je pense) tu devrais avoir un niveau suffisant pour mener à bien ton projet.

Si tu n'as pas le courage ou le besoin d'apprendre le VBA fait moi signe et je me pencherai sur ton projet cette aprem.

Merci pour ces conseils, je vais les suivre!

Par contre pas sur d'avoir le temps dans l'immédiat...

Si ce n'est pas abuser de ta générosité alors je suis preneur que tu te penche dessus, dis moi ce qu'il te faut...

Mais en parallèle j'essaierai de commencer mon apprentissage via les cours dont tu as mis les liens...

Re,

Ça me faciliterait bien la tache si tu m'envoyais tes fichiers (si donnée sensible, créer un fichier similaire mais avec des données bidon).

J'ai tenté de t'envoyer des choses mais ca ne passe pas (limite assez faible pour transférer des fichiers)

Je ne sais pas si tu as eut mon MP...

D'avance merci

C'est super sympa d'aider les gens comme tu le fais...

D'accord faisons comme ça.

Je n'ai pas eu ton message en MP. Et c'est le but d'un forum de s'entraider

Rechercher des sujets similaires à "recherche entre fichier"