macro de recherche automatique

matt31

XLDnaute Occasionnel
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.
 

CHALET53

XLDnaute Barbatruc
Re : macro de recherche automatique

Bonjour,

Un essai
Tu enregistres les deux fichiers dans un même répertoire
Tu ouvres le fichier Matt
T appuies sur lance

a+
 

Pièces jointes

  • Matt.xls
    33 KB · Affichages: 35
  • Matt.xls
    33 KB · Affichages: 40
  • Matt.xls
    33 KB · Affichages: 42
  • EM100-S05.xls
    26.5 KB · Affichages: 47

matt31

XLDnaute Occasionnel
Re : macro de recherche automatique

déjà merci.
Cela fonctionne mais partiellement. C'est-à-dire que cela ne répond qu'à la 1° ligne. Si je veux les données d'autres fichiers cela ne fonctionne pas. Le but est de récupérer ainsi plusieurs valeurs sans avoir à ouvrir plusieurs fichiers.
J'ai créé un fichier EM100-S06 et en format texte lorsque je rentre 100 et 06 sur la 2° ligne cela ne le prend en compte.

D'autre part, je suis obligé d'enregistrer le fichier Matt dans le même dossier que le fichier EM. Or j'ai une 100aine de dossiers EM et je ne voudrais qu'un seul fichier Matt.
encore merci pour ton aide.
 

CHALET53

XLDnaute Barbatruc
Re : macro de recherche automatique

Re,

Modification pour tenir compte de saisie en séquence sur les colonnes B et D
Il ne faut pas laisser de lignes à blanc
Concernant les fichiers EM.... : il s'agit de fichiers ou de dossiers
Si tous le fichiers EM... sont dans le même répertoire que Matt, celui-ci n'a pas besoin d'être dupliqué

... Ou alors précise l'organisation de tes données

A suivre
 

Pièces jointes

  • Matt.xls
    37.5 KB · Affichages: 38
  • Matt.xls
    37.5 KB · Affichages: 35
  • Matt.xls
    37.5 KB · Affichages: 40

matt31

XLDnaute Occasionnel
Re : macro de recherche automatique

Bonjour et merci.

Désolé de ne pas avoir répondu plus tôt...

Le fichier fonctionne mais il faut qu'il soit dans le même dossier que celui des fichiers EM.
Pour expliquer l'organisation, j'ai un dossier par EM. chaque dossier a la même forme d'appellation à savoir "EM (le n°d'EM)"
Je voudrais éviter d'avoir un fichier Matt par dossier d'EM mais plutôt d'avoir un seul fichier Matt dans le répertoire général qui contient tous les dossiers EM précédemment cités.

Encore merci
 

Thibault LB

XLDnaute Junior
Re : macro de recherche automatique

Bonjour,

Selon moi, si tu changes ce lien dans le code :
Code:
Set Wb = GetObject(chemin & "\" & fic & ".xls")
Ca devrait être bon. Ou tu mets le lien en dur (si le fichier Matt ne bougera jamais), ou alors tu fais une invite utilisateur.
 

matt31

XLDnaute Occasionnel
Re : macro de recherche automatique

merci.
Le fichier Matt ne bougera pas mais je ne vois pas comment mettre le lien en dur puisqu'il peut renvoyer à des fichiers qui se trouvent dans différents répertoires. Il y a donc plusieurs liens possibles, dépendant de l'EM choisie.
 

Thibault LB

XLDnaute Junior
Re : macro de recherche automatique

Chaque fichier EM sont donc dans différents répertoires ?

Une invitation utilisateur permettant de choisir l' Em désiré pour traitement te semble une bonne solution ? Il ne t'est pas possible de regrouper tous ces fichiers dans un seul dossier?
 

Thibault LB

XLDnaute Junior
Re : macro de recherche automatique

Code:
Dim fichier As Workbook
Dim EM As Variant
FR = Application.GetOpenFilename(FileFilter:="Fichiers Excel (*.xl*), *.xl*", Title:="Choix du fichier")
If EM <> False Then
    Set fichier = Workbooks.Open(EM)
End If

Si tu as besoin.
 

Discussions similaires

Statistiques des forums

Discussions
312 416
Messages
2 088 246
Membres
103 784
dernier inscrit
Métro-logue