Bonsoir à toutes et à tous,
je voudrais faire appel à vous sur un problème dont je n'arrive pas à trouver la solution. 😕
J'ai créé une macro me permettant d'aller chercher dans un fichier Access 2007 des données particulières.
Cette macro fonctionne à merveille.
Sauf que (et oui, il fallait que ça arrive 🙄), je souhaiterais modifier la variable de filtre de Microsoft Query avec un MsgBox:
Voici le code (je ne l'ai pas mis en code pour pouvoir surligner la variable à changer):
Sub DESTINATIONOK()
'
' DESTINATION Macro
Dim Nbre As Integer
Dim Message As String, Titre As String, Defaut As String, Reponse As String
Message = "Entrez le code chantier :"
Titre = "SAISIE CODE CHANTIER"
Defaut = " "
Reponse = InputBox(Message, Titre, Defaut)
Nbre = Val(Reponse)
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
"ODBC;DSN=MS Access Database;DBQ=Z:\PASCAL\PLATRERIE DANEY\DANWARE\Sauvegarde DANWARE\Danware 3.0.accdb;DefaultDir=Z:\PASCAL\PLATRERI" _
), Array( _
"E DANEY\DANWARE\Sauvegarde DANWARE;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;" _
)), DESTINATION:=Range("$A$1")).QueryTable
.CommandText = Array( _
"SELECT `Inventory Transactions Extended`.Catégorie, `Inventory Transactions Extended`.Produit, `Inventory Transactions Extended`.`Surface unitaire (m²)`, `Inventory Transactions Extended`.`Type Livrai" _
, _
"son`, `Inventory Transactions Extended`.Quantity, `Employees Extended`.`File As`, `Inventory Transactions Extended`.`Prix Dépôt`, `Inventory Transactions Extended`.`Prix Direct`, `Inventory Transactio" _
, _
"ns Extended`.`Date Livraison`, `Inventory Transactions Extended`.`PO Number`" & Chr(13) & "" & Chr(10) & "FROM `Employees Extended` `Employees Extended`, `Inventory Transactions Extended` `Inventory Transactions Extended`" & Chr(13) & "" & Chr(10) & "WHERE" _
, _
" `Employees Extended`.ID = `Inventory Transactions Extended`.Destination AND ((`Employees Extended`.`File As`='3106'))" & Chr(13) & "" & Chr(10) & "ORDER BY `Inventory Transactions Extended`.`Date Livraison`" _
)
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "Tableau_DESTINATION"
.Refresh BackgroundQuery:=False
End With
ActiveSheet.ListObjects("Tableau_DESTINATION").TableStyle = ""
End Sub
Vue la taille du fichier Access, je ne peux pas vous joindre de fichier.
Merci d'avance pour vos retours.
Matt
je voudrais faire appel à vous sur un problème dont je n'arrive pas à trouver la solution. 😕
J'ai créé une macro me permettant d'aller chercher dans un fichier Access 2007 des données particulières.
Cette macro fonctionne à merveille.
Sauf que (et oui, il fallait que ça arrive 🙄), je souhaiterais modifier la variable de filtre de Microsoft Query avec un MsgBox:
Voici le code (je ne l'ai pas mis en code pour pouvoir surligner la variable à changer):
Sub DESTINATIONOK()
'
' DESTINATION Macro
Dim Nbre As Integer
Dim Message As String, Titre As String, Defaut As String, Reponse As String
Message = "Entrez le code chantier :"
Titre = "SAISIE CODE CHANTIER"
Defaut = " "
Reponse = InputBox(Message, Titre, Defaut)
Nbre = Val(Reponse)
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
"ODBC;DSN=MS Access Database;DBQ=Z:\PASCAL\PLATRERIE DANEY\DANWARE\Sauvegarde DANWARE\Danware 3.0.accdb;DefaultDir=Z:\PASCAL\PLATRERI" _
), Array( _
"E DANEY\DANWARE\Sauvegarde DANWARE;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;" _
)), DESTINATION:=Range("$A$1")).QueryTable
.CommandText = Array( _
"SELECT `Inventory Transactions Extended`.Catégorie, `Inventory Transactions Extended`.Produit, `Inventory Transactions Extended`.`Surface unitaire (m²)`, `Inventory Transactions Extended`.`Type Livrai" _
, _
"son`, `Inventory Transactions Extended`.Quantity, `Employees Extended`.`File As`, `Inventory Transactions Extended`.`Prix Dépôt`, `Inventory Transactions Extended`.`Prix Direct`, `Inventory Transactio" _
, _
"ns Extended`.`Date Livraison`, `Inventory Transactions Extended`.`PO Number`" & Chr(13) & "" & Chr(10) & "FROM `Employees Extended` `Employees Extended`, `Inventory Transactions Extended` `Inventory Transactions Extended`" & Chr(13) & "" & Chr(10) & "WHERE" _
, _
" `Employees Extended`.ID = `Inventory Transactions Extended`.Destination AND ((`Employees Extended`.`File As`='3106'))" & Chr(13) & "" & Chr(10) & "ORDER BY `Inventory Transactions Extended`.`Date Livraison`" _
)
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "Tableau_DESTINATION"
.Refresh BackgroundQuery:=False
End With
ActiveSheet.ListObjects("Tableau_DESTINATION").TableStyle = ""
End Sub
Vue la taille du fichier Access, je ne peux pas vous joindre de fichier.
Merci d'avance pour vos retours.
Matt
Dernière édition: