VBA: utiliser valeur saisie en InputBox comme variable

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 InputBox:

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").Tab leStyle = ""

End Sub

Vue la taille du fichier Access, je ne peux pas vous joindre de fichier.

Merci d'avance pour vos retours.

Matt

Bonsoir,

A tout hasard, peut-être ainsi :

....
....
AND ((`Employees Extended`.`File As`='" & Nbre & "'))"
....
....

Peut-être?

Bonjour,

et MERCI pour ton message!!!

Ca marche!!! Je pensais avoir essayé toutes les manipulations... Et bien, je n'avais pas mis les "" et les espaces au bon endroit!

MERCI beaucoup Cousinhub!!!

Rechercher des sujets similaires à "vba utiliser valeur saisie inputbox comme variable"