Exportation de données d'Excel 2003 vers MySQL

Résolu
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. Modérateur
    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
    1. 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. Modérateur
        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
    2. 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
      1. 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