Oxygene31
XLDnaute Nouveau
Bonjours à tous,
Avant de vous exposer mon problème voici ce que je compte faire :
J'ai 2 tables (2 feuilles donc).
La 1ere contenant le nom et prénom de patients
La 2eme contient le poids de ces patients (donc nom et prénom également pour lier les 2 tables) à des dates.
j'aimerais pouvoir selon le patient sélectionné (par le biais d'une userform) afficher sur une nouvelle feuille un graphique de l'évolution du poids en fonction des dates.
Je comptais donc faire une maccro qui lance une requête MS QUERY et m'affiche dans un tableau uniquement les enregistrements voulus et ensuite qui tracerai le graphe.
J'ai donc fait la requete manuellement en enregistrant la maccro.
Je pensais ensuite remplacer
par
Avec Nom et Prénom étant 2 variables ayant pour valeur la value de 2 lists box (je pourrais ainsi faire la requête selon les patients voulu)
Mais il m'affiche une erreur dans le code :.Refresh BackgroundQuery:=False
Merci pour vos réponses
Avant de vous exposer mon problème voici ce que je compte faire :
J'ai 2 tables (2 feuilles donc).
La 1ere contenant le nom et prénom de patients
La 2eme contient le poids de ces patients (donc nom et prénom également pour lier les 2 tables) à des dates.
j'aimerais pouvoir selon le patient sélectionné (par le biais d'une userform) afficher sur une nouvelle feuille un graphique de l'évolution du poids en fonction des dates.
Je comptais donc faire une maccro qui lance une requête MS QUERY et m'affiche dans un tableau uniquement les enregistrements voulus et ensuite qui tracerai le graphe.
J'ai donc fait la requete manuellement en enregistrant la maccro.
Code:
With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
"ODBC;DBQ=C:\Documents and Settings\myke\Bureau\Mes-RDV\Patients.xls;DefaultDir=C:\Documents and Settings\myke\Bureau\Mes-RDV;Driver=" _
), Array( _
"{Driver do Microsoft Excel(*.xls)};DriverId=790;FIL=excel 8.0;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;ReadOnly=0;SafeTra" _
), Array("nsactions=0;Threads=3;UserCommitSync=Yes;")), Destination:=Range( _
"A1"))
.CommandText = Array( _
"SELECT `Patient$`.Nom, `Patient$`.Prénom, `'Evolution-détaillée-patients$'`.Date, `'Evolution-détaillée-patients$'`.Poids" & Chr(13) & "" & Chr(10) & "FROM `C:\Documents and Settings\myke\Bureau\Mes-RDV\Patients`.`'Evolution-dét" _
, _
"aillée-patients$'` `'Evolution-détaillée-patients$'`, `C:\Documents and Settings\myke\Bureau\Mes-RDV\Patients`.`Patient$` `Patient$`" & Chr(13) & "" & Chr(10) & "WHERE `Patient$`.Nom = `'Evolution-détaillée-patients$'`.`Nom#pati" _
, _
"ent` AND `'Evolution-détaillée-patients$'`.`Prénom#patient` = `Patient$`.Prénom AND ((`Patient$`.Nom='Esquirol) AND (`Patient$`.Prénom='Marina'))" & Chr(13) & "" & Chr(10) & "ORDER BY `'Evolution-détaillée-patients$'`.Date" _
)
.Name = "Lancer la requête à partir de Patient_1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
Je pensais ensuite remplacer
Code:
((`Patient$`.Nom='Esquirol) AND (`Patient$`.Prénom='Marina'))
Code:
((`Patient$`.Nom=Nom) AND (`Patient$`.Prénom=Prénom))
Avec Nom et Prénom étant 2 variables ayant pour valeur la value de 2 lists box (je pourrais ainsi faire la requête selon les patients voulu)
Mais il m'affiche une erreur dans le code :.Refresh BackgroundQuery:=False
Merci pour vos réponses