Pour connecter MySQL à Excel en utilisant VBA, vous devez suivre plusieurs étapes. Voici un guide général pour vous aider à établir cette connexion :
Prérequis :
- Pilote ODBC pour MySQL : Assurez-vous que le pilote ODBC MySQL est installé sur votre système. Vous pouvez le télécharger depuis le site officiel de MySQL.
- Configurer une source de données ODBC (DSN) :
- Ouvrez ” Gestionnaire de sources de données ODBC ” sur votre ordinateur.
- Sous l’onglet ” DSN Système ” ou ” DSN Utilisateur “, cliquez sur ” Ajouter “.
- Sélectionnez le pilote MySQL que vous avez installé.
- Suivez les instructions pour configurer votre DSN avec le nom, le serveur, l’utilisateur, le mot de passe, et le nom de la base de données.
Code VBA pour se connecter à MySQL :
Voici un exemple de code VBA pour se connecter à votre base de données MySQL et exécuter une requête :
Sub ConnectToMySQL()
' Declare variables
Dim conn As Object
Dim rs As Object
Dim query As String
Dim connStr As String
' Create a new ADODB connection
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
' Connection string to MySQL
' Make sure to replace YOUR_DSN_NAME, YOUR_USERNAME, YOUR_PASSWORD with your details
connStr = "DSN=YOUR_DSN_NAME;UID=YOUR_USERNAME;PWD=YOUR_PASSWORD;"
' Open the connection
On Error GoTo ErrHandler
conn.Open connStr
' Define your SQL query
query = "SELECT * FROM your_table_name"
' Open the recordset
rs.Open query, conn
' Loop through the recordset and append data to Excel sheet
Dim i As Integer
i = 1
Do While Not rs.EOF
Sheet1.Cells(i, 1).Value = rs.Fields(0).Value
Sheet1.Cells(i, 2).Value = rs.Fields(1).Value
' Continue for other fields if necessary
rs.MoveNext
i = i + 1
Loop
' Close the recordset and the connection
rs.Close
conn.Close
Exit Sub
ErrHandler:
MsgBox "An error occurred: " & Err.Description
If Not rs Is Nothing Then If rs.State = 1 Then rs.Close
If Not conn Is Nothing Then If conn.State = 1 Then conn.Close
End Sub
Explications :
- DSN, UID, PWD : Remplacez les valeurs par votre DSN, nom d’utilisateur et mot de passe MySQL.
- query : Remplacez `your_table_name` par le nom de la table que vous souhaitez interroger.
- Sheet1.Cells(i, 1) : Cela spécifie où les données seront placées dans Excel. Ajustez en fonction de vos besoins.
- Gestion des erreurs : Le code inclut une gestion d’erreurs de base pour fermer proprement la connexion et afficher un message en cas d’échec.
Assurez-vous d’activer la bibliothèque `Microsoft ActiveX Data Objects Library` (ADO) dans l’éditeur VBA sous `Outils` > `Références…`.
En suivant ces étapes, vous devriez pouvoir vous connecter à une base de données MySQL directement depuis Excel en utilisant VBA.