FileImport du VBE
Code Jack
Messages postés
18
Date d'inscription
Statut
Membre
Dernière intervention
-
Code Jack Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
Code Jack Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je viens de commencer à programmer sur le VBE, et j'ai (déjà) un petit problème concernant la méthode FileImport indiquée dans l'aide du VBE.
Je veux faire exactement exactement ce que la fonction est censée faire, c'est-à-dire importer une certaine plage de cellules le plus efficacement possible (sans avoir à ouvrir le document par exemple), dans un nouveau document Excel.
Voici ce que j'ai écrit, en basant le code sur celui proposé par l'aide :
Sub Import()
With ActiveWorkbook.Application
.FileImport Filename:="test.xlsx", _
ImportRange:="A2:D5", WorksheetName:="onglet2"
End With
End Sub
Je souhaite prendre les cellules de A2 à D5 de l'onglet2 du fichier test.xlsx, et les importer dans le classeur actif sur lequel je travaille.
A terme, l'idée est de faire ceci avec une dizaine de fichiers Excel, et de tout importer dans un onzième fichier.
Le message que j'obtiens pour le moment est le suivant :
"Propriété ou méthode non gérée par cet objet", en surlignant les 3ème et 4ème lignes.
Malgré maintes recherches, je n'ai pas trouvé la coquille.
Quelqu'un peut-il me venir en aide en m'indiquant mon erreur (le plus important) et éventuellement en proposant une version qui marche ?
Merci d'avance à vous,
Bonne soirée,
Code Jack
Je viens de commencer à programmer sur le VBE, et j'ai (déjà) un petit problème concernant la méthode FileImport indiquée dans l'aide du VBE.
Je veux faire exactement exactement ce que la fonction est censée faire, c'est-à-dire importer une certaine plage de cellules le plus efficacement possible (sans avoir à ouvrir le document par exemple), dans un nouveau document Excel.
Voici ce que j'ai écrit, en basant le code sur celui proposé par l'aide :
Sub Import()
With ActiveWorkbook.Application
.FileImport Filename:="test.xlsx", _
ImportRange:="A2:D5", WorksheetName:="onglet2"
End With
End Sub
Je souhaite prendre les cellules de A2 à D5 de l'onglet2 du fichier test.xlsx, et les importer dans le classeur actif sur lequel je travaille.
A terme, l'idée est de faire ceci avec une dizaine de fichiers Excel, et de tout importer dans un onzième fichier.
Le message que j'obtiens pour le moment est le suivant :
"Propriété ou méthode non gérée par cet objet", en surlignant les 3ème et 4ème lignes.
Malgré maintes recherches, je n'ai pas trouvé la coquille.
Quelqu'un peut-il me venir en aide en m'indiquant mon erreur (le plus important) et éventuellement en proposant une version qui marche ?
Merci d'avance à vous,
Bonne soirée,
Code Jack
A voir également:
- FileImport du VBE
- Vbe download - Télécharger - Langages
5 réponses
Tu pourrais utiliser la formule dite de John Walkenbach.
Exemple :
Cordialement
Patrice
Exemple :
Sub LireFichierFermé() Dim NomFichier As String Dim Chemin As String Dim Formule As String ActiveSheet.Range("A1").ClearContents Chemin = "D:\Temp\" NomFichier = "Classeur_à_lire.xls" Formule = "='" & Chemin & "[" & NomFichier & "]Feuil1" & "'!" & "A1" ActiveSheet.Range("A1").Formula = Formule ActiveSheet.Range("A1").Value = ActiveSheet.Range("A1").Value End Sub
Cordialement
Patrice
Très bien merci !
Mais alors dans ce cas existe-t-il une méthode qui fait la même chose, pour un classeur ?
Il paraît étrange qu'une méthode aussi pratique pour importer des données ne soit applicable que pour un objet Chart non ?
Sinon ça ne fait rien je rajouterai des étapes dans le code...
Merci en tout cas,
Code Jack
Mais alors dans ce cas existe-t-il une méthode qui fait la même chose, pour un classeur ?
Il paraît étrange qu'une méthode aussi pratique pour importer des données ne soit applicable que pour un objet Chart non ?
Sinon ça ne fait rien je rajouterai des étapes dans le code...
Merci en tout cas,
Code Jack
J'ai changé d'objet, et je travaille désormais sur un objet Chart, mais il me renvoie toujours le même message d'erreur...
Sub Import()
'select the destination chart
Charts(1).Activate
With ActiveChart
'import data from test.xlsx, A2:D5, KPI worksheet
.FileImport Filename:="C:\Users\User\Desktop\test.xlsx", _
ImportRange:="A1:D1", WorksheetName:="KPI", _
OverwriteCells:=True
End With
End Sub
Une idée ?
Merci d'avance,
Code Jack
Sub Import()
'select the destination chart
Charts(1).Activate
With ActiveChart
'import data from test.xlsx, A2:D5, KPI worksheet
.FileImport Filename:="C:\Users\User\Desktop\test.xlsx", _
ImportRange:="A1:D1", WorksheetName:="KPI", _
OverwriteCells:=True
End With
End Sub
Une idée ?
Merci d'avance,
Code Jack
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question