Ce tutoriel montre comment collecter automatiquement des données de champs 'controle de contenu' de documents word pour les insérer dans une base de données MySQL.
Il se base sur un exemple concret qui correspond à enquete client. Les clients ont répondu à l'enquete dans un document word composé de questions et de champs de réponses sous forme de controle de contenu. Une application Excel va lire tous les doucments word de réponse des clients dans une répéteroire et pour chacun de ces fichier, récupérer les valeurs des champs/controles de contenu et les ajouter à la base de données MySQL? Ce programme VBA utilise les connections ADODB et les recordset ADODB
Code de connection àa la base de données :
Private Sub openConnection()
Dim S As String
Set cnx = New ADODB.Connection
S = "DRIVER={MySQL ODBC 5.3 ANSI Driver};" & _
"SERVER=localhost;" & _
"DATABASE=enquete;" & _
"USER=root;" & _
"PASSWORD=admin;" & _
"Option=3"
cnx.Open S
End Sub
Code d'insertion dans la base de données :
Public Sub process_file(ByVal nom_fichier As String)
Dim WordDoc As Word.Document
Dim Requete As String
Dim i As Integer
' Ouverture du fichier en mode Lecture seul
Set WordDoc = WordApp.Documents.Open(nom_fichier, ReadOnly:=True)
' on crée la requete d'insertion dans la base de données.
Set rst = New ADODB.Recordset
Requete = "INSERT INTO donnees(date_collecte, genre, nom," & _
"prenom, age, conformite, qualite, livraison, prix, ameliorations) VALUES ('2018-01-02','" & _
WordDoc.SelectContentControlsByTitle("titre").Item(1).Range.Text & "','" & _
WordDoc.SelectContentControlsByTitle("nom").Item(1).Range.Text & "','" & _
WordDoc.SelectContentControlsByTitle("prenom").Item(1).Range.Text & "','" & _
WordDoc.SelectContentControlsByTitle("age").Item(1).Range.Text & "','" & _
WordDoc.SelectContentControlsByTitle("conformite").Item(1).Range.Text & "','" & _
WordDoc.SelectContentControlsByTitle("Qualite").Item(1).Range.Text & "','" & _
WordDoc.SelectContentControlsByTitle("prix").Item(1).Range.Text & "','" & _
WordDoc.SelectContentControlsByTitle("livraison").Item(1).Range.Text & "','" & _
WordDoc.SelectContentControlsByTitle("ameliorations").Item(1).Range.Text & "')"
Debug.Print Requete
' on execute la requete
rst.Open Requete, cnx, adOpenDynamic, adLockOptimistic
WordDoc.Close
End Sub
Watch video Tuto Word Excel: transfert de données Word vers Mysql online without registration, duration hours minute second in high quality. This video was added by user Joël Simon JSI Informatique 06 29 January 2018, don't forget to share it with your friends and acquaintances, it has been viewed on our site 2,25 once and liked it 1 people.