L
Lych
Guest
Bonjour à tous!
voilà j'ai créé une requête que j'exécute dans une macro.
je voudrai pouvoir choisir le fichier dans lequel la requête va chercher les infos à chaque exécution de la macro. J'ai tapé le code suivant mais il ne fonctionne pas le problème est de donner un nom de fichier et de répertoire qui va varier:
Comment dois-je faire pour que la requête aille chercher les infos dans le fichier que je choisis?
merci d'avance
Lych
voilà j'ai créé une requête que j'exécute dans une macro.
je voudrai pouvoir choisir le fichier dans lequel la requête va chercher les infos à chaque exécution de la macro. J'ai tapé le code suivant mais il ne fonctionne pas le problème est de donner un nom de fichier et de répertoire qui va varier:
Code:
Dim OuvrirFichier As Variant
OuvrirFichier = Application.GetOpenFilename(filefilter:='classeur microsoft excel (*.xls),*.xls', filterindex:=1, Title:='fichier à importer', MultiSelect:=False)
If OuvrirFichier = False Then
MsgBox 'aucun fichier sélectionné. Fin procédure', vbOKOnly + vbCritical, 'FIN'
Exit Sub
End If
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
'ODBC;DSN=Excel Files;DBQ= OuvrirFichier ;DefaultDir=F:\\Gentianes\\Florence\\compta;DriverId=790;MaxBufferSiz' _
), Array('e=2048;PageTimeout=5;')), Destination:=Range('A1'))
.CommandText = Array( _
'SELECT `COMPTES$`.NUMCOMPTE, `COMPTES$`.LIBELLE, `COMPTES$`.DEBITPROV, `COMPTES$`.CREDITPROV' & Chr(13) & '' & Chr(10) & 'FROM `OuvrirFichier`.`COMPTES$` `COMPTES$`' _
)
.Name = 'Lancer la requête à partir de Excel Files_1'
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = True
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertEntireRows
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
Comment dois-je faire pour que la requête aille chercher les infos dans le fichier que je choisis?
merci d'avance
Lych