Recherche matricielle avec nom de fichier

  • Initiateur de la discussion Initiateur de la discussion xade
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

xade

XLDnaute Nouveau
Bonjour à tous,

je vais essayer de décrire clairement ce que je voudrais réussir à faire :
j'ai un tableau (appelons le Suivi) dans lequel la colonne A contient des références (de 8 chiffres). Dans la colonne B je fais une recherchev pour trouver une valeur (par ex le nombre de pces vendues) dans un autre fichier Excel, que j'appelle SA.

Jusque là pas de pb, mais j'ai un fichier SA pour chaque semaine de l'année, par ex SA44 pour le SA de la semaine 44.
Dans le tableau Suivi, j'ai 52 feuilles qui se nomment 1, 2, etc.. cad chaque feuille correspond au suivi d'une semaine de l'année.

Est il possible d'avoir la recherchev qui cherche dans le bon fichier SA en fonction du numéro de la feuille? C'est à dire dans la feuille 44 la recherchev va aller chercher dans le SA44 via une formule ou un programme sans que je crée manuellement pour chaque feuille la bonne matrice?

J'espère avoir été clair

Merci d'avance
 
Re : Recherche matricielle avec nom de fichier

Bonsoir Xade,
bienvenue sur le forum.

C'est certain qu'il existe une solution à votre problème. Toutefois, sans fichier exemple, à tâton comme ça, c'est très difficile de pouvoir répondre efficacement. Vous pourriez déposer une petit fichier exemple en pièce jointe pour qu'on puisse faire un essai.

Au plaisir de vous relire,

Étienne
 
Re : Recherche matricielle avec nom de fichier

Une piste probablement pour pointer sur la cellule A1 du fichier SA38.xls (si tu es sur la feuille nommée "38") :

Code:
=INDIRECT(CONCATENER("=[SA";NomFeuil();".xls]";"!A1"))

Avec la fonction NomFeuil comme ceci :

VB:
Function nomFeuil()
    Application.Volatile
    nomFeuil = ActiveSheet.Name
End Function
 
Re : Recherche matricielle avec nom de fichier

Re,

merci à vous deux de vous êtes penché sur mon pb, je joins 2 fichiers pour que ma demande soit plus clair. Ce sont deux ex simplifiés.
En gros je voudrais avoir une feuille type, qui mette à jour la bonne matrice dans laquelle chercher les infos, sachant que la matrice elle même ne change pas, mais le nom du fichier qui la contient correspond à la semaine que j'indique.
 

Pièces jointes

Re : Recherche matricielle avec nom de fichier

Salut xade,
je dois vous dire que même après avoir ouvert les fichiers exemples, la tâche à réaliser est toujours loin d'être claire pour moi. Je ne comprend pas du tout ce que vous chercher à réaliser.

Le fichier 44 est un fichier vide. En E1 il y a un Y ? Les formules utilisées renvoient toutes des #N/A.

Bref, très dur de s'y retrouver.

En attendant des explications qui seraient un peu plus parlante pour moi, je passe la main à d'autres qui saurant peut-être s'y retrouver mieux que moi.

Au plaisir,

Étienne
 
Re : Recherche matricielle avec nom de fichier

Merci encore à tous les deux,
j'ai refait les fichiers ce coup ci au format 97-2003, en précisant je l'espère mieux mon souhait.

Toutefois, si je ne suis pas assez clair, laisser tomber et merci quand même d'avoir essayer

A une prochaine fois
 

Pièces jointes

Re : Recherche matricielle avec nom de fichier

Salut xade,
tu peux essayer cette formule en D3. Vois si ça te convient et revient moi la-dessus.

Code:
=INDEX(INDIRECT(CONCATENER("'[SA";$B$1;"(1).xls]Feuil1'!$A:$C"));EQUIV(B3;INDIRECT(CONCATENER("'[SA";$B$1;"(1).xls]Feuil1'!$A:$A"));FAUX);3)

À glisser vers le bas.

NB : J'ai pris comme hypothèse que tu cherchais à récupérer le prix. Si ce n'est pas le cas, tu n'as qu'à changer le 3 à la fin de la formule pour un 2 ou un 1.

Bonne continuité,

Étienne
 
Re : Recherche matricielle avec nom de fichier

Salut Etienne,

et merci encore d'essayer de comprendre mon idée qui semble difficile à comprendre ! 🙄

J'ai copié ta formule, mais j'obtiens #REF!
J'essaie déjà de la comprendre 😱 mais visiblement tu as saisi un peu mon idée

A te lire
 
Re : Recherche matricielle avec nom de fichier

Bonsoir,

Oubliez INDIRECT, ça ne peut fonctionner si le classeur est fermé. J'ai tenté avec ADO mais difficile d'obtenir un rechercheV sur 2 colonnes avec ça. Alors j'ai fait une macro qui ouvre le bon fichier mais ne le montre pas. C'est pas terrible mais ça a l'avantage de marcher...

La macro :
VB:
Function nFeuil()
    Application.Volatile
    nFeuil = ActiveSheet.Name
End Function


Sub go()
Dim c As Range, t As Range, r As Range
Set c = [B3]
Application.ScreenUpdating = 0
chemin = ThisWorkbook.Path & "\"
cl$ = "SA" & nFeuil() & ".xls"
Workbooks.Open chemin & cl$
Sheets("Feuil1").Select
Set r = Range("A2:A" & [A65536].End(xlUp).Row)
Do While c <> ""
    Set t = r.Find(what:=c, LookIn:=xlFormulas, LookAt:=xlWhole)
    c(1, 2) = t(1, 2)
    Set c = c(2, 1)
Loop
ActiveWorkbook.Close False
End Sub

cf. fichier joint
 

Pièces jointes

Re : Recherche matricielle avec nom de fichier

Bonjour,

Code:
Sub CreeFormules()
  répertoire = ThisWorkbook.Path & "\"
  For s = 44 To 46
    nf = CStr(s)
    temp = "=vlookup(B3,'" & répertoire & "[SA" & nf & ".xls]Feuil1'!$A$2:$B$100,2,false)"
    Sheets(nf).Cells(3, 3).Formula = temp
    Sheets(nf).Cells(3, 3).AutoFill Destination:=Sheets(nf).Cells(3, 3).Resize(28), Type:=xlFillDefault
  Next s
End Sub

JB
Formation Excel VBA JB
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
114
Réponses
5
Affichages
235
Réponses
7
Affichages
345
Réponses
4
Affichages
202
Réponses
19
Affichages
621
Réponses
10
Affichages
232
Retour