XL 2013 Formule d'un fichier Excel qui fait référence à une autre formule d'un autre fichier Excel dont l'intitulé change tous les mois en VBA

onyirimba

XLDnaute Junior
Supporter XLD
Bonjour,

Je souhaite dans 1 fichier Excel " Classeur2 " coller des données en VBA d'un autre fichier Excel " Classeur1 202109 " (situé dans la cellule A8 de la feuille 1) avec un codage.
Cependant le nom du fichier Classeur1 202109 change tous les mois (en octobre 2021 => Classeur1 202110; en novembre 2021 =>Classeur1 202111...)

J'ai utilisé plage.Formula = Workbooks("Classeur1 ######.*").Sheets("Feuil1").Range("A8").Formula comme codage dans le Classeur1 mais cela ne fonctionne pas.
Je pense que cet intitulé "Classeur1 ######.*" => ne fonctionne pas

Est-ce que vous pouvez m'aidé ?

Merci d'avance.
Cordialement.
1633965156062.png
 

patricktoulon

XLDnaute Barbatruc
re
j'ai seulement oublié la virgule
je repete autrement
si le nom du fichier externe change tout les mois on peut pas faire par formule
a moins que l'on connaisse le nom par déduction du style avec une date formaté et autre qui serait la partie changeante du nom
 

onyirimba

XLDnaute Junior
Supporter XLD
re
j'ai seulement oublié la virgule
je repete autrement
si le nom du fichier externe change tout les mois on peut pas faire par formule
a moins que l'on connaisse le nom par déduction du style avec une date formaté et autre qui serait la partie changeante du nom
Dans mon exemple => la date est formaté et c'est la partie changeante du nom Classeur1 202109; Classeur1 202110; Classeur1 202111....
est-ce que le codage VBA est possible ?

Merci d'avance
 

patricktoulon

XLDnaute Barbatruc
re
oui
un exemple
mettre dans une plage de 10 cellules dans le classeur 1 cette formule(adapte le chemin et le nom du fichier)
c'est une formule matriciel donc a valider comme tel sur les version inferieur a 2019
VB:
='C:\Users\polux\DeskTop\[cobaie202109.xlsx]Feuil1'!A1:A10

tes 10 cellules auront les valeurs de la plage A1:A10 du classeur cobaie202109.xlsx

pour le faire par vba car en formule on peut pas décomposer me semble t il
tu fait par exemple
Code:
Sub test()
    With Sheets("taratata").[C1:C10]
        .FormulaArray = "='C:\Users\polux\DeskTop\[cobaie" & 202109 & ".xlsx]Feuil1'!A1:A10"
        .Value = .Value
    End With
End Sub
te reste a automatiser dans une variable le "202109"
comme nous somme le 202110 et que je sais pas si tu veux ce mois ci ou le mois dernier je ne l'ai pas automatisé
bien sur dans mon exemple il te faut adapter ton chemin et le nom du classeur
 

onyirimba

XLDnaute Junior
Supporter XLD
re
oui
un exemple
mettre dans une plage de 10 cellules dans le classeur 1 cette formule(adapte le chemin et le nom du fichier)
c'est une formule matriciel donc a valider comme tel sur les version inferieur a 2019
VB:
='C:\Users\polux\DeskTop\[cobaie202109.xlsx]Feuil1'!A1:A10

tes 10 cellules auront les valeurs de la plage A1:A10 du classeur cobaie202109.xlsx

pour le faire par vba car en formule on peut pas décomposer me semble t il
tu fait par exemple
Code:
Sub test()
    With Sheets("taratata").[C1:C10]
        .FormulaArray = "='C:\Users\polux\DeskTop\[cobaie" & 202109 & ".xlsx]Feuil1'!A1:A10"
        .Value = .Value
    End With
End Sub
te reste a automatiser dans une variable le "202109"
comme nous somme le 202110 et que je sais pas si tu veux ce mois ci ou le mois dernier je ne l'ai pas automatisé
bien sur dans mon exemple il te faut adapter ton chemin et le nom du classeur
merci beaucoup
je regarde cela
 

Discussions similaires

Statistiques des forums

Discussions
294 234
Messages
1 937 089
Membres
188 148
dernier inscrit
ahmedinfo