query excel

  • Initiateur de la discussion Lych
  • Date de début
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:
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
 

lapix

XLDnaute Occasionnel
salut !

Ce que je vois dans ton code :
'ODBC;DSN=Excel Files;DBQ= OuvrirFichier ;DefaultDir=F:\\Gentianes\\Florence&# 92;compta;DriverId=790;MaxBufferSiz'

OuvrirFichier est entre ''

essaies avec :

'ODBC;DSN=Excel Files;DBQ=' & OuvrirFichier & ';DefaultDir=F:\\Gentianes\\Florence&# 92;compta;DriverId=790;MaxBufferSiz'

dis moi si ca fonctionne
 

Discussions similaires

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 536
dernier inscrit
komivi