Connexion Base Mysql et Excel

bestpak

XLDnaute Nouveau
Bonjour,

j'essaye d'établir une connexion entre une base de donnée Mysql ainsi qu'une fiche excel. cependant j'ai essayé de développer quelque chose mais il y a une erreur que je n'arrive pas a résoudre :

Variable Objet ou variable de bloc With non définie


Code:
Public conn As ADODB.Connection
Public rsCard As ADODB.Recordset

 
 Private Sub Worksheet_Activate()

    Dim sh1 As Feuil3
    Dim SQL As String
    Dim c As Integer

   On Error GoTo error_handler

    conn.ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost; DATABASE=ldp;UID=root;PWD=mysql; OPTION=3"
    conn.Open
  
    
   Set sh1 = Excel.Worksheets(1)
   Set conn = New ADODB.Connection
   Set rsCard = New ADODB.Recordset
   
   SQL = "select * from cartes"

   c = 0

   rsCard.CursorLocation = adUseServer
   rsCard.Open SQL, conn
   rsCard.MoveFirst
   
   Do Until rsCard.BOF Or rsCard.EOF
    
       sh1.Cells(c, 1).Value = rsCard.Fields(0)
       sh1.Cells(c, 2).Value = rsCard.Fields(1)
       sh1.Cells(c, 3).Value = rsCard.Fields(2)
       sh1.Cells(c, 4).Value = rsCard.Fields(3)
       sh1.Cells(c, 5).Value = rsCard.Fields(4)
       sh1.Cells(c, 6).Value = rsCard.Fields(5)
       sh1.Cells(c, 7).Value = rsCard.Fields(6)
       sh1.Cells(c, 8).Value = rsCard.Fields(7)
       sh1.Cells(c, 9).Value = rsCard.Fields(8)
       sh1.Cells(c, 10).Value = rsCard.Fields(9)
       sh1.Cells(c, 11).Value = rsCard.Fields(10)
       sh1.Cells(c, 12).Value = rsCard.Fields(11)
       sh1.Cells(c, 13).Value = rsCard.Fields(12)
       sh1.Cells(c, 14).Value = rsCard.Fields(13)
       sh1.Cells(c, 15).Value = rsCard.Fields(14)
       sh1.Cells(c, 16).Value = rsCard.Fields(15)
       sh1.Cells(c, 17).Value = rsCard.Fields(16)
       sh1.Cells(c, 18).Value = rsCard.Fields(17)
       sh1.Cells(c, 19).Value = rsCard.Fields(18)
       sh1.Cells(c, 20).Value = rsCard.Fields(19)
       sh1.Cells(c, 21).Value = rsCard.Fields(20)
       sh1.Cells(c, 22).Value = rsCard.Fields(21)
       sh1.Cells(c, 23).Value = rsCard.Fields(22)
       sh1.Cells(c, 24).Value = rsCard.Fields(23)
       rsCard.MoveNext
       c = c + 1
    If rsCard.EOF Then
           rsCard.MoveFirst
           Exit Sub
     End If
    Loop

error_handler:

    MsgBox "Erreur : " & Err.Description, vbCritical

End Sub


Je vous serais très reconnaissant de bien vouloir me débloquer.
 

Pierrot93

XLDnaute Barbatruc
Re : Connexion Base Mysql et Excel

Bonsoir Bestpak

Pas sur, mais à tout hasard, essaye en définissant "sh1 " comme une feuille de calcul plutôt qu'avec un "codename" :

Code:
Dim sh1 As Worksheet
Set sh1 = Excel.Worksheets(1)

bonne soirée
@+
 

bestpak

XLDnaute Nouveau
Re : Connexion Base Mysql et Excel

Merci de ta réponse,

cependant, toujours le meme problème meme avec la modification que tu proposes.

Personnellement, je pense que le souci vient de la ligne suivante :
Code:
conn.ConnectionString = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost; DATABASE=ldp;UID=root;PWD=mysql; OPTION=3"
    conn.Open

mais je ne vois pas ce qui cloche.
 

Pierrot93

XLDnaute Barbatruc
Re : Connexion Base Mysql et Excel

Re,

essaye peut être en rajoutant cette ligne, juste avant :

Code:
Set conn = New ADODB.Connection

petite question idiote, pourquoi déclarer les 2 variables ci-dessous en "public" ?
Code:
Public conn As ADODB.Connection
Public rsCard As ADODB.Recordset

@+
 

Statistiques des forums

Discussions
312 047
Messages
2 084 864
Membres
102 690
dernier inscrit
souleymaane