1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| Private Sub CommandButton4_Click()
Dim cn As ADODB.Connection
Dim Fichier As String
Dim RA As String, RB As String, RC As String, RD As String, RE As String
Dim RF As String, RG As String, RH As String, RI As String, RJ As String
Dim RK As String, RL As String, RV As String
Dim NomFeuille As String, SQL_tersfaible As String, SQL_faible As String
Dim SQL_moyen As String, SQL_fort As String, SQL_avere As String
Dim nbconso As Integer, nbconsotresfaible As Integer, nbconsofaible As Integer
Dim nbconsomoyen As Integer, nbconsofort As Integer, nbconsoavere As Integer
Dim rsTtresfaible As ADODB.Recordset
'Initialization des variables
nbconso = 10
RA = " " & " " & "A"
RB = " " & " " & "B"
RC = " " & " " & "C"
RD = " " & " " & "D"
RE = " " & " " & "E"
RF = " " & " " & "F"
RG = " " & " " & "G"
RH = " " & " " & "H"
RI = " " & " " & "I"
RJ = " " & " " & "J"
RK = " " & " " & "K"
RL = " " & " " & "L"
RV = " " & " " & "V"
'Définit le classeur fermé servant de base de données
Fichier = "s:\LYNDAYAKOUBEN\saintetiennenord.xls"
'Nom de la feuille dans le classeur fermé
NomFeuille = "Feuil1"
Set cn = New ADODB.Connection
'--- Connection ---
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & Fichier & _
";Extended Properties=""Excel 8.0;HDR=yes"""
.Open
End With
'-----------------
'Définit la requête.
'/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille.
SQL_tersfaible = " SELECT TOP 5 * FROM[" & NomFeuille & "$] WHERE MARCHE = 'CONSOMMA' and NOTEB2 IN( '" & RA & "', '" & RB & "', '" & RC & "', '" & RD & "')"
Set rsTtresfaible = New ADODB.Recordset
Set rsTtresfaible = cn.Execute(SQL_tersfaible)
'--- Boucle sur les entêtes pour récupérer les noms ---
For i = 0 To rsTtresfaible.Fields.Count - 1
Cells(1, i + 1) = rsTtresfaible.Fields(i).Name
Next i
'-----------------------------------------------------
'Ecrit le résultat de la requête dans la cellule A2
Range("A" & nbconso & "").CopyFromRecordset rsTtresfaible
'-----------------------------------------------------
'recupérer le nombre de lignes
nbconsotresfaible = rsTtresfaible.Fields(0).Value
MsgBox "le nombre de lignes est:" & nbconsotresfaible
'-----------------------------------------------------
'--- Fermeture connexion ---
cn.Close
Set cn = Nothing |
Partager