c’est bizarre... le code est bien dans le fichier...
Le voici en tout cas :
Sub Test()
'Importe des données d'un fichier fermé
Application.ScreenUpdating = False
Dim Source As Object
Dim CheminFichier As String
Dim NomFeuille As String, Plage As String, Texte_SQL As String
Dim Requete As Object
Set Source = CreateObject("ADODB.Connection")
Set Requete = CreateObject("ADODB.Recordset")
'Definit le repertoire contenant les fichiers
Chemin = "C:\Users\Dupont\Documents\"
'Définit le classeur fermé servant de base de données
Fichier = Dir(Chemin & "Fichier_*.xlsm")
'Nom de la feuille dans le classeur fermé
NomFeuille = "BdD"
'Plage à importer
Plage = "B3:AO10"
'Connexion
With Source
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
& Chemin & Fichier & ";Extended Properties=""Excel 12.0;HDR=YES;"""
.Open
End With
'Requete
Texte_SQL = "SELECT * FROM [" & NomFeuille & "$" & Plage & "]"
Set Requete = Source.Execute(Texte_SQL)
'Restitution sur feuille classeur cible
dl = ThisWorkbook.Sheets("BdD").Range("B" & Rows.Count).End(xlUp).Row
ThisWorkbook.Sheets("BdD").Range("B" & dl + 1).CopyFromRecordset Requete
End Sub