Exportation de données d'Excel 2003 vers MySQL [Résolu/Fermé]

Signaler
Messages postés
6
Date d'inscription
lundi 15 mai 2017
Statut
Membre
Dernière intervention
16 juin 2017
-
Messages postés
6
Date d'inscription
lundi 15 mai 2017
Statut
Membre
Dernière intervention
16 juin 2017
-
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

Messages postés
29567
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 septembre 2020
2 785
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


Messages postés
6
Date d'inscription
lundi 15 mai 2017
Statut
Membre
Dernière intervention
16 juin 2017

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 ?
Messages postés
29567
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 septembre 2020
2 785
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
Messages postés
6
Date d'inscription
lundi 15 mai 2017
Statut
Membre
Dernière intervention
16 juin 2017

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!
Messages postés
6
Date d'inscription
lundi 15 mai 2017
Statut
Membre
Dernière intervention
16 juin 2017

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