Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

MSQUERY - Top X des enregistrements

2 réponses
Avatar
Frederic Revol
Bonjour,

Sous MSquery, j'ai demande l'affichage d'un Top10 des enregistrements, ce
qui marche parfaitement. Par contre, lors de l'importation des resultats
dans Excel, tous les enregistrements sont affiches...

Pouvez-vous m'aider?

Merci,

Fred

2 réponses

Avatar
michdenis
J'ai bien l'impression que tu dois passer par du code :

Évidemment, tu dois adapter la requête et le nom du fichier
dans le code suivant....

C'est dans la définition de la chaîne de caractères "Requête"
que tu restreins le nombre d'enregistrements que tu désires.
"Select TOP 30" .....

Via l'interface de la feuille de calcul, il n'y a pas de propriétés qui
permettent de définir ce que tu désires !

Si tu éprouves de la difficulté à écrire toute la procédure, si tu pars
l'enregistreur de macro.... elle traduira pour toi l'essentiel des lignes
de commande.... tu n'auras plus qu'à faire un peu de ménage !!!

'---------------------------------------
Sub Test()

Dim Requête As String
Requête = "Select TOP 30 Champ1, Champ2 From NomDeZone Order by champ1 asc "

With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=Fichiers Excel;DBQ=c:Requete_MsQuery_Date.xls;" & _
"DefaultDir=c:;DriverIdy0;MaxBufferSize 48;PageTimeout=5;" _
, Destination:þuil3.Range("c1"))
.CommandText = Array(Requête)
.Name = "Denis"
.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:úlse
End With
End Sub
'---------------------------------------



"Frederic Revol" a écrit dans le message de news:
48bbb6ba$0$2504$
Bonjour,

Sous MSquery, j'ai demande l'affichage d'un Top10 des enregistrements, ce
qui marche parfaitement. Par contre, lors de l'importation des resultats
dans Excel, tous les enregistrements sont affiches...

Pouvez-vous m'aider?

Merci,

Fred
Avatar
Frederic Revol
Merci,

Je me lance.

Fred
"michdenis" wrote in message
news:
J'ai bien l'impression que tu dois passer par du code :

Évidemment, tu dois adapter la requête et le nom du fichier
dans le code suivant....

C'est dans la définition de la chaîne de caractères "Requête"
que tu restreins le nombre d'enregistrements que tu désires.
"Select TOP 30" .....

Via l'interface de la feuille de calcul, il n'y a pas de propriétés qui
permettent de définir ce que tu désires !

Si tu éprouves de la difficulté à écrire toute la procédure, si tu pars
l'enregistreur de macro.... elle traduira pour toi l'essentiel des lignes
de commande.... tu n'auras plus qu'à faire un peu de ménage !!!

'---------------------------------------
Sub Test()

Dim Requête As String
Requête = "Select TOP 30 Champ1, Champ2 From NomDeZone Order by champ1 asc
"

With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=Fichiers Excel;DBQ=c:Requete_MsQuery_Date.xls;" & _
"DefaultDir=c:;DriverIdy0;MaxBufferSize 48;PageTimeout=5;" _
, Destination:þuil3.Range("c1"))
.CommandText = Array(Requête)
.Name = "Denis"
.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:úlse
End With
End Sub
'---------------------------------------



"Frederic Revol" a écrit dans le message de
news:
48bbb6ba$0$2504$
Bonjour,

Sous MSquery, j'ai demande l'affichage d'un Top10 des enregistrements, ce
qui marche parfaitement. Par contre, lors de l'importation des resultats
dans Excel, tous les enregistrements sont affiches...

Pouvez-vous m'aider?

Merci,

Fred