Comment importer automatiquement des données de base MySQL avec Excel ? 1


Il est possible de lancer une requete SQL sur une base MySQL à l'aide de connecteur ODBC et de MS Query. Avec du code VBA, il est alors possible d'automatiser des imports de données et de créer des requêtes de manière dynamique.

Nous allons voir comment faire en prenant l'exemple d'une requête qui doit être effectuée chaque jour pour un reporting. La requête change chaque jour car les dates doivent être actualisées. Il faut donc préalablement déclarer les variables qui seront utilisées pour créer le texte de la requête en tenant compte des bonnes dates qui seront contenues dans des variables (une date peut être actualisée à l'ouverture d'excel avec la fonction AUJOURDHUI() ou TODAY() ). Ci-dessous le code VBA correspondant :

Dim Requete As String
Dim DateDebut As String
Dim DateFin As String
Dim Onglet As String

DateDebut = ActiveSheet.Range("A1").Value
DateFin = ActiveSheet.Range("A2").Value
Requete = "select * from MaTable where date between " & DateDebut & " and " & DateFin

ActiveWorkbook.Worksheets.Add
Onglet = "Tableau" & ActiveSheet.Name

With ActiveSheet.ListObjects.Add(SourceType:=0, Source:="ODBC;DSN=MYSQL;", _
Destination:=Range("$A$1")).QueryTable
.CommandText = Requete
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = Onglet
.Refresh BackgroundQuery:=False
End With

Comment importer automatiquement des données de base MySQL avec Excel ?
  • 5.00 / 5 5
2 votes, 5.00 avg. rating (97% score)

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 

Un commentaire sur “Comment importer automatiquement des données de base MySQL avec Excel ?

  • TLK

    Merci beaucoup, pour ce partage d'information, que j'ai trouvé après plusieurs recherche sur le net,
    s'est la seule qui était simple et rapide à mettre en oeuvre.