Adapter formule "recherchev" en fonction valeur cellule

D'un autre côté, tu n'as pas fait le changement suggéré à 8h12...

image

ce sont ces 2 guillemets à supprimer ?

Range("AB2:AB" & derlig).FormulaLocal = "=SIERREUR(RECHERCHEV(A2;'U:\9 Contrôle FM-SAP\Export article\[" & Target & ".xlsx]Feuille 1'!$B:$B;2;FAUX);"""")"

On va finir par y arriver ! Encore merci à JoyeuxNoel

Il y a tout de même un autre souci avec la formule: si la plage de recherche se limite à $B:$B ... on ne saurait extraire ce qui s'y trouve en colonne 2

Ahah, exact, je n'avais même pas fait attention à ça. J'avais juste vu les restes de feu la fonction indirect

Alors toujours la même erreur d'exécution ... :( en tout cas un grand merci pour votre aide !!

Alors toujours la même erreur d'exécution ... :( en tout cas un grand merci pour votre aide !!

Pourrais-tu joindre ton fichier comparaison (avec la seule feuille qui nous soit utile) et ton fichier 108870 ?

7comparaison.zip (634.56 Ko)
7108870.xlsx (93.35 Ko)

Voici

Si cela peut aider, la cellule B2 du fichier variable 108870 aura toujours la valeurs du nom du fichier... si ça peut ouvrir une piste pour une autre formule ou code.. :)

Pas d'erreur d'exécution chez moi avec le code qu'on t'a fourni.

Par contre, j'ai du mal à comprendre ce que tu cherches vraiment à récupérer comme info, mais bref.
Vu que tu as pas mal de requêtes PowerQuery dans ton fichier, peut-être est-ce une piste à explorer. Je ne sais pas si on peut donner un chemin variable à PowerQuery. Ni s'il peut récupérer le chemin dans une cellule, au besoin.

ah c'est déjà bon signe. Est-ce que cela dépend de où j'écris la macro ?

Non, elle était au bon endroit. Mais pourquoi tout avoir passé en commentaires ? Et tu n'avais pas copié le dernier code qu'on t'avait donné ...

Mets ceci. Mais en sachant que, comme le disait U.Milité, ça ne renverra de toute façon rien pour le moment.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address <> "$AB$1" Then Exit Sub
derlig = Cells(Rows.Count, "AA").End(xlUp).Row
Range("AB2:AB2" & derlig).FormulaLocal = "=SIERREUR(RECHERCHEV(A2;'U:\9 Contrôle FM-SAP\Export article\[" & Target & ".xlsx]Feuille 1'!$B:$B;2;FAUX);"""")"
End Sub

Alors, plus d'erreur d'exécution et ma colonne se rempli bien de la formule voulue avec le bon nom de fichier en fonction de la cellule AB1. En revanche est-ce qu'il faudrait pas rajouter une ligne de code pour dire d'écraser les anciennes formules au lieux de les décaler vers le bas ? de plus la colonne contient bien la bonne formule par contre elle ne me fait pas la recherchev. la colonne reste vide. c'est pour cela que j'avais intégrer la fonction "indirect" .... merci !!!!

image image
image

bon et apparemment la macro fonctionne un certain nombre de fois et maintenant quand je sélectionne une autre valeur dans ma liste de AB1 j'ai de nouveau une erreur

Mince, U.Milité t'aurait fait une macro à durée limitée ?

Cela dit, comme ça fait 3h30 qu'on tourne en rond parce que tu n'as pas fait les modifs qu'on t'a données à 8h20..

C'est normal que tes cellules soient vides. Tu recherches dans la colonne B:B de ton fichier numéroté, et tu renvoies la données qui est dans la 2ème colonne de la plage B, ce qui est bien sûr impossible.
Dans la macro, essaie de remplacer le dernier 2 par un 1, juste avant le ;faux.

Si ça plante à nouveau, comme tu le dis, c'est peut-être que tu as à nouveau touché quelque chose au code ?

Re,

Range("AB2:AB2" & derlig) va effectivement recopier la formule bien plus bas que souhaité ... il vaudrait mieux faire des copier-coller, plutôt que recopier avec des erreurs: la bonne syntaxe est Range("AB2:AB" & derlig) ... en plus de ce que JoyeuxNoel relève

ça y est ça fonctionne parfaitement !!! Un immense merci à vous deux c'est parfait !!!

étonnant que l'index de colonne était sur 2... j'avais pas fait attention. Au tout début il devait forcément être sur 1 sinon ma formule n'aurait pas fonctionné dès le début..

Désolé de vous avoir fait tourner en rond :/ mes connaissances en VBA sont plus que basique. Quoi qu'il en soit maintenant c'est parfait merci infiniment !

Bon après-midi à vous et à bientôt =D

Rechercher des sujets similaires à "adapter formule recherchev fonction valeur"