BastienN93
XLDnaute Nouveau
Bonjour à tous,
J'ai réussi à rédiger mon code pour effectuer un matching selon plusieurs critères, et jusqu'ici tout va bien.
Je souhaite à présent déverser ces résultats dans un fichier qui sera utilisé par tous, tout en conservant l'indépendance de mon fichier de matching (qui contient la macro) de sorte à ce que le fichier final ne contienne pas de code mais des données uniquement.
J'ai donc réussi à rédiger un bout de code qui fait une recherche V et replace les infos au bon endroit.
Le truc important c'est que le code ne doit pas mentionner le chemin d'aucun des deux fichiers, ni leur noms (.xls et .xlsm)
Voici le bout de code qui me pose un soucis: la recherche V fonctionne, sauf que j'obtiens une erreur #NOM? dans toutes les cases du fichier final. En revanche, si j'actualise la formule, une fenêtre me demande de mettre à jour les liens, et de lui montrer à quel fichier je fais référence (mon fichier macro donc) et là les données d'actualisent.
J'aimerai donc éviter ce message d'erreur et qu'Excel comprenne directement qu'il s'agit du fichier macro.
Il y a peut être des étapes inutiles, je suis novice, mais tout fonctionne, sauf cette dernière partie de mise à jour des liens. Si j'indique à Excel où chercher la data, le matching est effectué parfaitement.
J'ai donc essayé d'appeler mon fichier macro "résultats_matching" pour éviter de faire référence au nom du fichier mais cela marche à moitié puisque j'ai une erreur..
*SYNTHESEREVENUS fait référence à la plage de données dans laquelle Excel doit aller chercher.
Merci beaucoup d'avance, j'espère avoir été le plus exhaustif possible.
J'ai réussi à rédiger mon code pour effectuer un matching selon plusieurs critères, et jusqu'ici tout va bien.
Je souhaite à présent déverser ces résultats dans un fichier qui sera utilisé par tous, tout en conservant l'indépendance de mon fichier de matching (qui contient la macro) de sorte à ce que le fichier final ne contienne pas de code mais des données uniquement.
J'ai donc réussi à rédiger un bout de code qui fait une recherche V et replace les infos au bon endroit.
Le truc important c'est que le code ne doit pas mentionner le chemin d'aucun des deux fichiers, ni leur noms (.xls et .xlsm)
Voici le bout de code qui me pose un soucis: la recherche V fonctionne, sauf que j'obtiens une erreur #NOM? dans toutes les cases du fichier final. En revanche, si j'actualise la formule, une fenêtre me demande de mettre à jour les liens, et de lui montrer à quel fichier je fais référence (mon fichier macro donc) et là les données d'actualisent.
J'aimerai donc éviter ce message d'erreur et qu'Excel comprenne directement qu'il s'agit du fichier macro.
Code:
Dim MonFichier
Dim resultats_matching
resultats_matching = ThisWorkbook.Name 'comprendre le fichier qui détient tout mon code et les résultats du premier matching qui a fonctionné parfaitement
MonFichier = Application.GetOpenFilename("Excel Workbooks,*.xls;*xlsx")
Workbooks.OpenText Filename:=MonFichier 'j'ouvre le fichier final qui doit être rendu
Sheets("Clients list").Select
Application.DisplayAlerts = False
Range("AG3").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC[-25],'[resultats_matching]Revenus'!SYNTHESEREVENUS,2,FALSE)),"""",VLOOKUP(RC[-25],'[resultats_matching]Revenus'!SYNTHESEREVENUS,2,FALSE))"
LastRow = Range("AF" & Rows.Count).End(xlUp).Row
Range("AG3").Copy Range("AG3:AG" & LastRow)
Il y a peut être des étapes inutiles, je suis novice, mais tout fonctionne, sauf cette dernière partie de mise à jour des liens. Si j'indique à Excel où chercher la data, le matching est effectué parfaitement.
J'ai donc essayé d'appeler mon fichier macro "résultats_matching" pour éviter de faire référence au nom du fichier mais cela marche à moitié puisque j'ai une erreur..
*SYNTHESEREVENUS fait référence à la plage de données dans laquelle Excel doit aller chercher.
Merci beaucoup d'avance, j'espère avoir été le plus exhaustif possible.