Importation d'une requête acces dans excel

  • Initiateur de la discussion Initiateur de la discussion elo02
  • Date de début Date de début

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 !

E

elo02

Guest
Bonjour le forum,

J'aimerai savoir comment adapter mon code pour qu'au lieu d'ouvrir une requête query (qui ne fonctionne pas comme je le voudrais), excel m'ouvre une requête access .

Voilà mon code pour l'instant

Sub ListeB9Allee()

Dim Requete As String
Requete = "FINDER;T:\ELG\B9\B9" & Range("Allee") & ".dqy"
Range("B7") = "B9 " & Range("Allee")
Range("A14:h16000") = ""
Range("Titre_Liste") = "Liste complète"

With ActiveSheet.QueryTables.add(Connection:= _
Requete, Destination:=Range("debB9"))
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = True
.BackgroundQuery = True
.RefreshStyle = xlInPlace
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
Worksheets("TCD").PivotTables("TCD1").RefreshTable
Worksheets("TCD").PivotTables("TCD2").RefreshTable
Worksheets("TCD").PivotTables("TCD3").RefreshTable
Worksheets("TCD").PivotTables("TCD4").RefreshTable

'Appel des macros de mise en couleur
Call plan_fixe(Target)
Call libres(Target)
Call couleur_freq(Target)
Call couleur_ecart(Target)
Call couleur_casiers_a_verifier(Target)

End Sub

Dans Allee j'ai le résultat d'une combobox. donc là pour l'instant j'ouvrais B957.dqy (par ex) et ça me le copiait sur ma feuille (entre autres).

Est ce possible de faire la même chose directement sachant que mon fichier access s'appelle emplB9 et que j'ai gardé les mêmes noms pour les requêtes?

Merci d'avance!

elo02 (qui doit reprendre tout son travail...)
 
Re : Importation d'une requête acces dans excel

Bonjour elo,

Cette macro t'importe une table ou requete dans la cellule de départ "A2" à adapter à ton pb.

Sub importer_access()
Dim source As ADODB.Connection
Dim t_list As ADODB.Recordset
Dim chemin As String, texte_SQL As String

chemin = ActiveWorkbook.Path ' a adapter
' ouvre la base de données Access (microsoft jet)
Set source = New ADODB.Connection
source.Provider = "Microsoft.Jet.OLEDB.4.0;"
source.Open chemin & "\demoado.mdb" 'nom de ta base access
Set t_list = New ADODB.Recordset
'requete SQL dans t_demo de tous les champs
texte_SQL = "SELECT * FROM T_demo" 'nom de ta requete access
Sett_list = source.Execute(texte_SQL)
'reporte dans home.xls ' a adapter à ton classeur

Application.ScreenUpdating = False
Range("A2").CopyFromRecordset t_list ' a adapter à ta feuille

'ferme la requête et la connexion
t_list.Close
source.Close
End Sub

Important; dans l'éditeur VBE, effectuer la commande "outils-recherche" et dérouler jusqu'à "Microsoft ActiveX Data Object 2;x Library" et cocher
 
Re : Importation d'une requête acces dans excel

ça marche si je mets jsute B954 pour lenom de ma requête
Mais en fait je voudrais que ça ouvre la requête que je demande dans une combobox et dont le résultat arrive dans la cellule allée.
En fait je choisi dans la combo 57 et je voudrais que ça ouvre la requête B957.
Est-ce que c'est possible?
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour