Equivalent Flexgrid en VBA

sebast105 Messages postés 37 Date d'inscription mercredi 28 janvier 2004 Statut Membre Dernière intervention 18 avril 2005 - 9 mars 2005 à 14:57
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 - 10 mars 2005 à 10:01
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

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
10 mars 2005 à 10:01
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
0
Rejoignez-nous