Lire donnée d'un autre fichier Excel

Bonjour,

À chaque jour, un programme génère un fichier xlsx contenant plusieurs données brut générée sous le nom "date".xlsx (exemple 2018-11-18.xlsx)

Je possède un autre fichier qui les analysent. J'aimerais charger à chaque jour les données du fichier de la veille. La date change donc le nom du fichier téléchargé doit changer lui aussi.

J'ai essayé la "fonction" suivante sans trop de succès :

=C:\Ariel Data\BD\[TEXTE(AUJOURDHUI()-1;"aaaa-mm-jj").xlsx]CALC_Sheet'!A1 

Est ce que quelqu'un aurait une idée pour régler mon problème ?

Merci!

Antoine

Bonjour,

à tester,

Sub test()
Dim sRep As String, sFile As String, sSh As String, rw As Long, cn As Integer
sRep = '"C:\Ariel Data\BD\"
sFile = Format(DateSerial(Year(Date), Month(Date), Day(Date) - 1), "yyyy-mm-dd") & ".xlsx"
sSh = "CALC_Sheet"
rw = 1
cn = 1

x = ExecuteExcel4Macro _
      ("'" & sRep & "\[" & sFile & "]" & sSh & "'!R" & rw & "C" & cn & "")
End Sub

bonjour

salut SabV au passage.

https://www.youtube.com/watch?v=gwW2CDdvUUs

gratuit

inclus dans les versions plus récentes d'Excel

faire menu Power Query, obtenir, de classeur

naviguer vers le répertoire contenant ton fichier

"charger"

par la suite il suffit de cliquer "mise à jour"

aucun VBA

dans 10 minutes ça marche

si tu laisses tous les fichiers dans ce répertoire, PQuery les relira à chaque mise à jour.

amitiés à tous

Bonjour,

Merci pour votre aide. Pour Power Query, c'est compliqué, car ce fichier va être utilisé par une centaine de personne. Je ne peux donc pas faire installer facilement ce logiciel à tout le monde.

Lorsque je crée une macro avec le code que vous m'avez envoyé et que je l'exécute, je reçois le message erreur de syntaxe avec la ligne sRep en rouge ou l'erreur "impossible d'exécuter en mode arrêt". Est-ce que c'est normal? Je ne m'y connais pas beaucoup en VBA.

Merci,

Antoine

Bonjour,

à tester,

Sub test()
Dim sRep As String, sFile As String, sSh As String, rw As Long, cn As Integer
sRep = '"C:\Ariel Data\BD\"
sFile = Format(DateSerial(Year(Date), Month(Date), Day(Date) - 1), "yyyy-mm-dd") & ".xlsx"
sSh = "CALC_Sheet"
rw = 1
cn = 1

x = ExecuteExcel4Macro _
      ("'" & sRep & "\[" & sFile & "]" & sSh & "'!R" & rw & "C" & cn & "")
End Sub

re

100 personnes

un fichier Excel

des novices

Bonjour à tous ...

au passage, en VBA

= "C:\Ariel Data\BD\" & Format(Date - 1, "yyyy-mm-dd") & Sheets("CALC_Sheet").Range("A1").Value & ".xlsx"

et si ce n'est pas du VBA, il manque la fonction INDIRECT dans ce cas

=INDIRECT("C:\Ariel Data\BD\[" & TEXTE(AUJOURDHUI()-1;"aaaa-mm-jj") & ".xlsx]CALC_Sheet'!A1") 

mais je suis peut-être à côté de la plaque !

Wow, c'est exactement ce que je recherchais! Merci de m'avoir fait découvrir cette fonction.

Bonjour à tous ...

au passage, en VBA

= "C:\Ariel Data\BD\" & Format(Date - 1, "yyyy-mm-dd") & Sheets("CALC_Sheet").Range("A1").Value & ".xlsx"

et si ce n'est pas du VBA, il manque la fonction INDIRECT dans ce cas

=INDIRECT("C:\Ariel Data\BD\[" & TEXTE(AUJOURDHUI()-1;"aaaa-mm-jj") & ".xlsx]CALC_Sheet'!A1") 

mais je suis peut-être à côté de la plaque !

re,

à noter/ il faut impérativement que le fichier "2018-11-18.xlsx" soit ouvert.

Exact ! sinon il faut construire la fonction en FormulaLocal via VBA !

Merci Isabelle de préciser.

Rechercher des sujets similaires à "lire donnee fichier"