Equivalent Flexgrid en VBA

Signaler
Messages postés
37
Date d'inscription
mercredi 28 janvier 2004
Statut
Membre
Dernière intervention
18 avril 2005
-
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
-
Bonjour,

Je souhaiterai savoir avec quel composant en VBA il serait possible de réaliser un tableau depuis Access.

Je vous remercie d'avance pour votre réponse.

Merci.

Cordiallement Sébatien

1 réponse

Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
22
Tu peux utiliser MSFlexGrid avec VBA Excel , tu place un MSFlexGrid sur ton formulaire, sans oublier de cocher les cases dans le menu Outils / Références:
Microsoft Activex DataObjects 2.0 Library et Microsoft DAO 3.51 Object Library

Option Explicit
Function faIndex(row As Integer, col As Integer) As Long
faIndex = row * MSFlexGrid1.Cols + col
End Function
Private Sub CommandButton1_Click()
Dim adoConnection As ADODB.Connection
Dim adoRecordSet As ADODB.Recordset
Set adoConnection = New ADODB.Connection
Set adoRecordSet = New ADODB.Recordset
Dim ConnectionString As StringConnectionString "Provider Microsoft.Jet.OLEDB.3.51;" & " Data Source = C:\Mes documents\bd1.mdb"
adoConnection.Open ConnectionString
adoRecordSet.Open "Table1", adoConnection
Do Until adoRecordSet.EOF


Dim i As Integer
'Remplit MSFlexGrid avec des données en utilisant la
' propriété TextArray.
For i = MSFlexGrid1.FixedRows To MSFlexGrid1.Rows - 1
' ** Colonne 1
MSFlexGrid1.TextArray(faIndex(i, 1)) = adoRecordSet.Fields(0)
' Colonne 2.
MSFlexGrid1.TextArray(faIndex(i, 2)) = adoRecordSet.Fields(1)
'colonne 3
MSFlexGrid1.TextArray(faIndex(i, 3)) = adoRecordSet.Fields(2)
adoRecordSet.MoveNext


Next
Loop
adoRecordSet.Close
adoConnection.Close


Set adoConnection = Nothing
Set adoRecordSet = Nothing
End Sub