VBA: utiliser la valeur saisie en InputBox comme variable dans la macro

chacal33

XLDnaute Junior
Bonsoir à toutes et à tous,

je voudrais faire appel à vous sur un problème dont je n'arrive pas à trouver la solution. :confused:

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 :rolleyes:), 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:

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA: utiliser la valeur saisie en MSGBOX comme variable dans la macro

Bonsoir Matt le Chacal, bonsoir le forum,

Peut-être avec une InputBox :
Code:
Dim a As String
a = InputBox("Entrez la valeur de la variable.", "VARIABLE")
If a = "" Then Exit Sub
puis dans le code remplacer 3106 par a...
 

Staple1600

XLDnaute Barbatruc
Re : VBA: utiliser la valeur saisie en MSGBOX comme variable dans la macro

Bonsoir à tous

Robert
Il utilise déjà une InpuBox ;) même si il parle d'une MsgBox ....:p:rolleyes:
Code:
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)
Peut-être tenter sa chance avec ceci.
Nbre= "'" & Cstr(Reponse) & "'"
et plus loin
File As =Nbre
 
Dernière édition:

chacal33

XLDnaute Junior
Re : VBA: utiliser la valeur saisie en MSGBOX comme variable dans la macro

Bonjour,

autant pour moi, effectivement, il s'agit d'un InputBox et pas d'un MsgBox... Je le change dans le titre.
J'ai essayé vos options, et ça bloque (sniff)

Auriez-vous à tout hasard d'autres idées?

Merci d'avance.

PS: Mea Culpa sur la boulette de termes!
 

chacal33

XLDnaute Junior
Re : VBA: utiliser la valeur saisie en MSGBOX comme variable dans la macro

Bonjour,

autant pour moi, effectivement, il s'agit d'un InputBox et pas d'un MsgBox... Je le change dans le titre.
J'ai essayé vos options, et ça bloque (sniff)

Auriez-vous à tout hasard d'autres idées?

Merci d'avance.

PS: Mea Culpa sur la boulette de termes!
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16