Macro de recherche automatique

Bonjour,

après une recherche sur le forum, je ne trouve pas ce dont j'ai besoin et je ne sais pas du tout comment démarrer.

J'ai plusieurs équipes (une centaine) et un fichier par équipe pour chaque semaine (environ 6000 fichiers au total). Je voudrais créer un fichier avec une macro me permettant en fonction de certaines données d'aller chercher une valeur dans le fichier correspondant.

Je m'explique mieux.

Tous les fichiers semaine sont nommés sur le même modèle : "EM (le numéro de l'équipe) - S (le numéro de la semaine)".

Dans mon nouveau fichier, si je mets en B1 le numéro de l'équipe et en D1 le numéro de la semaine, je voudrais qu'en F1 la macro me donne la valeur en D4 (toujours en D4) de la feuille statistiques (toujours la même feuille) du fichier semaine renseigné en B1 et D1.

Merci par avance pour votre aide.

Salut,

2 solutions en macro :

(2eme est plus sympa je pense en terme d'ergonomie)

Ne modifier que Equipe et semaine ainsi que le chemin

A tester

Damien

17original.zip (9.92 Ko)

Bonjour et merci pour ce travail.

2 soucis. Le premier minime est que la macro ne prend en charge que la 1ère ligne. Or je voudrais récupérer la valeur de plusieurs équipes Peut-être en mettant une boucle...

Le 2ème risque d'être plus gênant car le chemin d'accès est différent. En effet, ayant une 100aine d'équipes et 1 fichier par semaine, tout n'est pas rangé dans un seul dossier. J'ai un dossier par équipe.

Re,

Je t'envoi un fichier comportant plusieurs lignes avec des chemins différents.

C'est un exemple. (Cf onglet 2)

Par contre si tu a s des problèmes pour l'integrer dans ta feuille, envoi moi ton fichier (sans données confidentielles), je pourrais répondre plus facilement a ton besoin.

Damien

7original.zip (15.99 Ko)

Merci.

Par contre, j'ai toujours le même problème pour la destination du fichier. Les fichiers où se trouvent les valeurs à récupérer sont dans plusieurs dossiers différents. Chaque dossier est nommé par le numéro de l'équipe (EM puis le numéro)

Dans le fichier ci-joint j'ai mis le chemin utilisé sans le dernier dossier (j'en ai une 100aine de différents)

7original2.zip (15.69 Ko)

Un essai.

Damien

19original3.zip (15.99 Ko)

Bonjour et merci.

Désolé de ne pas avoir répondu plus tôt mais ce week-end ça été chaleur, torpeur mais pas d'ordinateur.

Je viens donc de regarder ce fichier mais ça ne fonctionne pas du tout, j'ai "fichier non trouvé" systématiquement en colonne de résultats.

Je ne comprends pas trop la méthode utilisée. Comment doit se remplir la colonne chemin?

Re,

Tu tapes le nom complet du chemin dans la colonne B (chemin) avec \ a la fin

Puis tu tapes le nom de l'equipes et de la semaine -> Cela cree le nom du fichier EM <Equipe> - S<Semaine>.Xls

Cela modifie aussi le chemin : chemin = cheminque tu as tapé + EM<EQUIPE>\

Cela va ensuite faire un test pour voir si le fichier existe :

Chemin\Nomfichier

Si pas trouvé alors Resultat = Fichier non trouvé : Sinon il te renvoi la valeur

Vérifie que le fichier avec Chemin\nomfichier existe et fais attention aux espaces.

Damien

J'ai compris d'où venait l'erreur.

Pour le chemin c'est EM <EQUIPE>\ et non EM<EQUIPE>\

Par contre, en regardant la macro, je ne comprends pas comment tu définis ce chemin. est-ce que tu pourrais m'expliquer que je puisse adapter à mon cas réel?

Merci par avance.

Re,

Cela se fait sur la ligne :

chemin = Intersect(Range("B:B"), Rows(Target.Row)).Value & "EM" & Intersect(Range("C:C"), Rows(Target.Row)).Value & "\"

chemin = Intersect(Range("B:B"), Rows(Target.Row)).Value & "EM" & Intersect(Range("C:C"), Rows(Target.Row)).Value & "\"

==>

chemin = Intersect(Range("B:B"), Rows(Target.Row)).Value & "EM " & Intersect(Range("C:C"), Rows(Target.Row)).Value & "\"

Dis moi si c'est OK

Damien

j'avais modifié ce point mais ma question, et je pense en relisant les derniers échanges avoir compris, était de savoir comment rentrer le chemin.

Est-ce qu'il faut le rentrer manuellement sur la 1° ligne? Si oui, peut-on l'intégrer dans la macro avec une destination ne variant que selon l'EM indiquée en C?

En integrant le chemin dans le code.

chemin = "C:\Documents and Settings\PRAT.M\Mes Documents\Codage Cardio\2012\Patients codés\"

Si tu tapes une equipes et une semaine tu auras le chemin construit cf fichier attaché

A tester

Damien

7original4.zip (16.17 Ko)

Merci, ça a l'air de fonctionner impeccablement.

Jé vérifie tout ça demain et je clôture le post si tout est ok.

Encore merci

Rechercher des sujets similaires à "macro recherche automatique"