XL 2010 Macro indiquant le chemin d’un autre fichier dont le nom est variable

echoflo68

XLDnaute Nouveau
Bonjour
Je viens d’écumer les forums et je ne trouve pas de solution à mon problème
J’ai un fichier nommé « coffre ». Dans l’onglet nommé « menu » de ce fichier, j’ai une liste déroulante qui me permet de changer le mois du fichier (chaque mois je crée un nouveau fichier pour le mois en cours )
Le fichier coffre contient une macro qui renvoie à un autre fichier Excel dont le nom est « inventaire - janvier » pour le mois de janvier, « inventaire-février » pour le mois de février ,etc

Donc chaque mois, il faut que je change manuellement le nom du fichier source dans la macro.
je cherche une formule qui permettrait de renvoyer au fichier qui a pour nom « inventaire - mois indiqué dans l’onglet menu »
J’espere que vous pourrez m’aider
 
Solution
Bonjour,
Comme dit : "Dans feuille Menu" signifiait que c'était une formule et non du VBA.

Texte n'est pas reconnu par VBA. Utilisez Format.
De plus vous avez oublié INDEX, ce qui est facheux. En VBA c'est Application.WorksheetFunction.Index.
De plus vous avez gardé les ; en VBA c'est ,
Enfin le format en anglais est mmm-yy et non mmm-aa.

Donc :
Workbooks.Open Filename:= _
"\\spars-fic02\FRABEL-Suivi_Coffre_Glory\Conso - Inventaire - " & Format(Application.WorksheetFunction.Index(Range("af10:af29"), Range("ag10")), "mmm-yy") & ".xlsm"

Je l'ai testé, la syntaxe est bonne.

echoflo68

XLDnaute Nouveau
Bonjour.
Merci de vos retours, mais cela ne correspond pas à ce que je veux faire.
J'avais déjà tenté la solution de sylvanu , mais le problème est que mon fichier "conso -inventaire - mois" est alimenté en décalé. Donc pour mettre à jour mon fichier "coffre" jusqu'au 31 janvier, je devrai attendre le 1er février afin que le tableau "conso-inventaire-janv20" soit alimenté. Du coup la formule "inventaire-"&TEXTE(AUJOURDHUI();"mmm-aa")&"xlsm" renverra au fichier de février au lieu de celui de janvier.
J'ai mis ci-joints mes 2 fichiers.
Chaque mois le fichier "conso-inventaire-..." change de nom: il prend le nom figurant dans le fichier "coffre glory", dans l'onglet menu, liste déroulante "mois"

Merci d'avance pour vos réponses
 

Pièces jointes

  • Conso - Inventaire - janv-20.xlsx
    53.4 KB · Affichages: 3
  • Coffre Glory.zip
    852.4 KB · Affichages: 5

echoflo68

XLDnaute Nouveau
Bonjour,
j'ai essayé la macro de Sylvanu mais sans succès. Cela me renvoie un message d'erreur "erreur de compilation - Attendu séparateur de liste ou ) " entre af10:ag29
En fait ma macro est comme suit pour ouvrir le fichier en question en indiquant le chemin. Voici ce que j'ai écris et qui me renvoit le message d'erreur


Workbooks.Open Filename:= _
"\\spars-fic02\FRABEL-Suivi_Coffre_Glory\Conso - Inventaire - "&TEXTE(af10:af29;ag10);"mmm-aa")&"xlsm"


Je pense qu'il lui manque un bout pour lui dire où aller chercher le texte, mais je ne sais pas comment l'écrire
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Comme dit : "Dans feuille Menu" signifiait que c'était une formule et non du VBA.

Texte n'est pas reconnu par VBA. Utilisez Format.
De plus vous avez oublié INDEX, ce qui est facheux. En VBA c'est Application.WorksheetFunction.Index.
De plus vous avez gardé les ; en VBA c'est ,
Enfin le format en anglais est mmm-yy et non mmm-aa.

Donc :
Workbooks.Open Filename:= _
"\\spars-fic02\FRABEL-Suivi_Coffre_Glory\Conso - Inventaire - " & Format(Application.WorksheetFunction.Index(Range("af10:af29"), Range("ag10")), "mmm-yy") & ".xlsm"

Je l'ai testé, la syntaxe est bonne.
 

echoflo68

XLDnaute Nouveau
Génial. Merci beaucoup Sylvanu, j'ai enfin réussi à faire fonctionner la macro.
Il a juste fallu que je précise l'onglet où se situaient les cellules indexées, la macro s'exécutant dans un autre onglet de celui qui contenait les cellules af10:af29.
Au final, cela a donné cela:

Workbooks.Open Filename:= _
"\\spars-fic02\FRABEL-Suivi_Coffre_Glory\Conso - Inventaire - " & Format(Application.WorksheetFunction.Index(Worksheets("MENU").Range("af10:af29"), Worksheets("MENU").Range("ag10")), "mmm-yy") & ".xlsx"


Merci mille fois encore. Je désespérais de trouver la solution à mon problème
 

Discussions similaires

Statistiques des forums

Discussions
314 634
Messages
2 111 427
Membres
111 133
dernier inscrit
dominique001