Exportation de données d'Excel 2003 vers MySQL

Résolu
Livetowin62 Messages postés 6 Statut Membre -  
Livetowin62 Messages postés 6 Statut Membre -
Bonjour,

Cela fait 2 semaines que je suis en stage dans l'entreprise Devos Vandenhove, qui m'a confié un projet. En effet, je dois réaliser un système/logiciel qui permettra à l'utilisateur d'agir sur les éléments de cette base.

J'ai alors créé cette base sous PhpMyAdmin :


J'ai relié cette base sur Excel à l'aide d'ODBC, et je l'affiche sur Excel :


Maintenant, comme on peut voir sur les boutons que j'ai implanté, je souhaiterais agir sur la base Serveur (donc celle créé sous PhpMyAdmin) via Excel. Je suppose que ces manipulations passent par un Sub, mais comment faire les modifications ?

Merci d'avance

4 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,

    Je pense que tu trouveras tout ce dont tu as besoin à condition d'appeler les choses par leur vraie dénomination...
    donc celle créé sous PhpMyAdmin

    PhpMyAdmin est une interface développée en PHP qui permet d'intéragir avec une Base de données ( ce n'est pas la BDD lui même... ).
    Donc ta Base de données ( ton SGBD..) c'est MYSQL.

    Et donc.. la manipulation des données de cette base se fera via des REQUETES SQL

    Pour AJOUTER : INSERT INTO tatable...
    Pour SUPPRIMER : DELETE FROM tatable WHERE ...
    Pour METTRE A JOUR : UPDATE FROM tatable SET ...; WHERE

    Tu trouveras tout ce dont tu as besoin ici : https://dev.mysql.com/doc/mysql-for-excel/en/
    et là http://blogmotion.fr/systeme/mysql-access-excel-4974
    et encore là https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-data-manipulation.html

    0
  2. Livetowin62 Messages postés 6 Statut Membre
     
    Merci pour tes précisions!

    Je connais le langage SQL et les requêtes, mais est-il possible de mettre du SQL dans une macro Excel de type "Sub", qui est normalement codé en VBA ?
    Je sais qu'on peut exporter une table complète, mais ajouter un seul élément, dans le cas ou l'utilisateur clique sur un bouton par exemple ?
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Bien sûr que oui.
      par exemple : http://www.heritage-tech.net/908/inserting-data-into-mysql-from-excel-using-vba/

          Dim oConn As ADODB.Connection
          Private Sub ConnectDB()
          	Set oConn = New ADODB.Connection
          	oConn.Open "DRIVER={MySQL ODBC 5.1 Driver};" & _
          		"SERVER=localhost;" & _
          		"DATABASE=yourdatabase;" & _
          		"USER=yourdbusername;" & _
          		"PASSWORD=yourdbpassword;" & _
          		"Option=3"
          End Sub
      
      
      
          Dim rs As ADODB.Recordset
          Private Sub InsertData()
          	Set rs = New ADODB.Recordset
          	ConnectDB
          	With wsBooks
          		For rowCursor = 2 To 11
          			strSQL = "INSERT INTO tutorial (author, title, price) " & _
          				"VALUES ('" & esc(.Cells(rowCursor, 1)) & "', " & _
          				"'" & esc(.Cells(rowCursor, 2)) & "', " & _
          				esc(.Cells(rowCursor, 3)) & ")"
          			rs.Open strSQL, oConn, adOpenDynamic, adLockOptimistic
          		Next
          	End With
          End Sub
      
      0
  3. Livetowin62 Messages postés 6 Statut Membre
     
    Super c'est exactement ce que je cherché. Merci également pour le lien envoyé, il va m'être d'une grande utilité :)

    Je reviens ici si un prochain problème se présente!
    0
  4. Livetowin62 Messages postés 6 Statut Membre
     
    Bonjour,

    J'ai maintenant réussi à connecter ma base serveur local SQL au client Excel qui va exploiter cette base.

    Après avoir réussi à insérer des données dans cette base, je cherche maintenant à utiliser une combobox afin de selectionner un paramètre de la base serveur.

    Voilà quelques Screenshots pour vous aider à y voir clair :

    Voila le userform et la combobox associé :



    Et le code associé :


    Mais ma comboBox reste vierge, savez vous pourquoi ?

    Merci d'avance, Quentin
    0