Microsoft 365 Excel.Workbook(File.Contents("C:\Book1.xlsx"))

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

fhuillier

XLDnaute Nouveau
Bonjour dans une macro j'ai la ligne suivante

Dim NomDossier as string
NomDossier = Feuil1.Rnage("B2").Value 'nom du chemin et fichier D:\Test\mes-cles_2023-test.xls chemin

Cette commande me permet d'importer un fichier Excel externe dans ma feuille

ActiveWorkbook.Queries.Add Name:="mes-cles_2023-02-Sage", Formula:= _
"let" & Chr(13) & "" & Chr(10) & " Source = Excel.Workbook(File.Contents(""D:\Test\mes-cles_2023-test.xls""), null, true)," & Chr(13) & "" & Chr(10) & " #""mes-cles_2023-02-Sage1"" = Source{[Name=""tableau""]}[Data]," & Chr(13) & "" & Chr(10) & " #""En-têtes promus"" = Table.PromoteHeaders(#""mes-cles_2023-02-tableau"", [PromoteAllScalars=true])," & Chr(13) & "" & Chr(10) & " #""Type modifié"" = Table.TransformColumnTypes(#""En-têtes promus"",{{""Nom" & _
" Commercial"", type text}, {""Code client"", Int64.Type}, {""N° de série"", Int64.Type}, {""Référence produit"", type text}, {""Libellé produit"", type text}, {""Date de fin de contrat"", type date}, {""Version "", type text}, {""Clé "", type text}, {""Date clé"", type date}, {""Code d’activation"", type text}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""" & _
"Type modifié"""

J'aimerai mettre ExcelWorkBook(File.Contants("NomDossier") car le chemin du fichier que j'importe peut changer de dossier ou de nom.

Merci de votre aide cordialement
Francis
 
Bonjour,
Vous avez deja NomDossier.
VB:
NomDossier = Feuil1.Range("B2").Value 'nom du chemin et fichier D:\Test\mes-cles_2023-test.xls chemin
Excel.Workbook (File.Contants(NomDossier), null, true)

Si le nom du fichier change, il faudra cree une autre variable Fichier
NomDossier devra etre "D:\Test\" 'donc cellule a modifier
Fichier="mes-cles_2023-test.xls" 'qui serait dans une cellule
VB:
Excel.Workbook (File.Contants(NomDossier & Fichier), null, true)
 
Oneida bonjour,
Je vous remercie par contre quand je remplace :

Excel.Workbook(File.Contents(""D:\Test\mes-cles_2023-test.xls""), null, true)
par
Excel.Workbook (File.Contants(NomDossier & Fichier), null, true)


ActiveWorkbook.Queries.Add Name:="mes-cles_2023-02-Sage", Formula:= _
"let" & Chr(13) & "" & Chr(10) & " Source = Excel.Workbook (File.Contants(NomDossier & Fichier), null, true)," & Chr(13) & "" & Chr(10) & " #""mes-cles_2023-02-Sage1"" = Source{[Name=""tableau""]}[Data]," & Chr(13) & "" & Chr(10) & " #""En-têtes promus"" = Table.PromoteHeaders(#""mes-cles_2023-02-tableau"", [PromoteAllScalars=true])," & Chr(13) & "" & Chr(10) & " #""Type modifié"" = Table.TransformColumnTypes(#""En-têtes promus"",{{""Nom" & _
" Commercial"", type text}, {""Code client"", Int64.Type}, {""N° de série"", Int64.Type}, {""Référence produit"", type text}, {""Libellé produit"", type text}, {""Date de fin de contrat"", type date}, {""Version "", type text}, {""Clé "", type text}, {""Date clé"", type date}, {""Code d’activation"", type text}})" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & " #""" & _
"Type modifié"""

Debogage !!!
Merci de votre aide cordialement Francis
 
Bonjour,

Dans une requête (ici power query), "File.Contants" n'existe pas ! C'est : File.Contents
Et pour votre formule :

..... & " Source = Excel.Workbook (File.Contents(" & NomDossier & Fichier & "), null, true)," & ....
En espérant que NomDossier & Fichier forment un chemin correcte vers un fichier existant.

Mais pourquoi faire ça par macro alors qu'une requête paramétrée power query le ferait directement.

par exemple pour vous si le dossier est en B2, nommez cette cellule Dossier et la requête pourrait avoir pour source :

= Excel.Workbook(File.Contents(Table.FirstValue(Excel.CurrentWorkbook(){[Name="NomDossier"]}[Content]) & NomFichier
NomFichier étant définit ailleurs.
 
Bonjour,
Vous avez deja NomDossier.
VB:
NomDossier = Feuil1.Range("B2").Value 'nom du chemin et fichier D:\Test\mes-cles_2023-test.xls chemin
Excel.Workbook (File.Contants(NomDossier), null, true)

Si le nom du fichier change, il faudra cree une autre variable Fichier
NomDossier devra etre "D:\Test\" 'donc cellule a modifier
Fichier="mes-cles_2023-test.xls" 'qui serait dans une cellule
VB:
Excel.Workbook (File.Contants(NomDossier & Fichier), null, true)
Merci de ton aide cordialement.
 
Bonjour,

Dans une requête (ici power query), "File.Contants" n'existe pas ! C'est : File.Contents
Et pour votre formule :


En espérant que NomDossier & Fichier forment un chemin correcte vers un fichier existant.

Mais pourquoi faire ça par macro alors qu'une requête paramétrée power query le ferait directement.

par exemple pour vous si le dossier est en B2, nommez cette cellule Dossier et la requête pourrait avoir pour source :


NomFichier étant définit ailleurs.
Merci de ton aide cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Power Query Power Query
Réponses
26
Affichages
412
Réponses
10
Affichages
470
  • Question Question
Réponses
16
Affichages
1 K
Réponses
2
Affichages
2 K
Retour