Installer sur le poste ou tourne EXCEL le driver MyODBC dispo gratuitement
ici : http://dev.mysql.com/downloads/connector/odbc/5.1.html
Paramêtrer le driver : Start => Controle Panel => Administrative Tool => Datasource ODBC => Source Données Utilisateur => Ajouter => MySQL ODBC 5.1
Paramètrer : un bon tuto ici :
http://www.asp-php.net/tutorial/asp-php/iis_et_mysql.php?page=3
Dans le classeur mettre une proc VBA de ce genre
'******************************************************
'Dans cet exemple Il doit y avoir une Base MaBase avec une Table MaTable et 2 champs
'Dans cet exemple il doit y avoir une feuille Excel (Sheet1) avec 2 colonnes de données
Option Explicit
' http://www.tanguay.info/web/codeExample.php?id=847
Dim objDB, arrRecord, strRecord, strOutput
Dim oRS, nRec, oFld
Dim row
Dim SqlRequest
Dim C1
Dim Temp0
Dim Temp1
Private Sub btnTestReadInMysqlData_Click()
Dim objDB, arrRecord, strRecord, strOutput
Dim oRS, nRec, oFld
Dim row
Sheet2.Cells(1, 4).Value = Now
'Database connection & select all from Table
Set objDB = DBConnect()
For C1 = 2 To 1002
Temp0 = Replace(Sheet1.Cells(C1, 1).Text, ",", ".")
Temp1 = Replace(Sheet1.Cells(C1, 2).Text, ",", ".")
SqlRequest = "INSERT INTO `MaBase`.`MaTable` (`MonChamps1` ,`MonChamps2`)VALUES ('" & Temp0 & "' , '" & Temp1 & "');"
Set oRS = objDB.Execute(SqlRequest)
Sheet2.Cells(2, 4).Value = Now
Sheet2.Cells(3, 4).Value = C1
Next C1
End Sub
Function DBConnect()
Set objDB = CreateObject("ADODB.Connection")
objDB.Open "MYSQL_BlueBears"
Set DBConnect = objDB
End Function
'******************************************************
avec une liaison ADSL et un hebergement mutualisé 1000 requêtes = 3 minutes... et à peine plus si la requête est plus longue => c'est donc la connexion à la base qui prend du temps.