Exporter des donnees depuis Excel vers une base de donnee sur server SQL

  • Initiateur de la discussion jeanphi13
  • Date de début
J

jeanphi13

Guest
Bonjour à tous, un petite question qui pourra peut etre trouver reponse!
Voila j'aimerais savoir si certains d'entre vous on deja essayer d'exporter des donnees depuis une feuille Excel vers une base de donnee hebergee sur un serveur SQL, tout ceci simplement en cliquant sur un bouton depuis la feuille Excel???

Je suis completement novice dans tout ca, mais on m'a pose la question et vu qu'ils y a de nombreux pros sur ce forum, je me disais que peut etre...

Merci d'avance de vos reponses et à bientot!
Bonne aprem', JP
 

Davidc57

XLDnaute Occasionnel
Re : Exporter des donnees depuis Excel vers une base de donnee sur server SQL

Salut JP, salut le forum,

Je ne prétend pas être un pro, bien que je développe en excel pendant environ 30 pourcent de mon temps au travail. La preuve c'est que je n'ai pas de solution directe à ta requête. Mais j'ai peut-être une solution, si c'est pour une seule fois pour une migration vers un nouveau système alors la solution te conviendra peut-être.

Il existe des 'convertisseurs' Access / SQL gratuit disponible, il faut chercher sur le net y'en a plein. Et je connais un moyen de passer d'excel à Access. Voir le lien ci-dessous, j'avais posté à ce sujet.

https://www.excel-downloads.com/threads/export-feuille-excel-vers-access.58611/

Ce fait un moment que tu as posté alors je me permet de proposer cette solution indirect.

Au plaisir,
David




A+
 
J

jeanphi13

Guest
Re : Exporter des donnees depuis Excel vers une base de donnee sur server SQL

J'ai trouve sur le net un code qui mqrche du tonnerre.....ca repond exactement a ma demande!
Allez, je vous le balance, ca pourra toujours servir:








Sub ADOExcelToSQLServer()
' Carl Mackinder for OzGrid - SQL Server Connection
' Send data to SQL Server
' This code loads data from an Excel Worksheet to an SQL Server Table
' Data should start in column A and should be in the same order as the server table
' Autonumber fields should NOT be included
'
' FOR THIS CODE TO WORK
' In VBE you need to go Tools References and check Microsoft Active X Data Objects 2.x library


Dim Cn As ADODB.Connection
Dim ServerName As String
Dim DatabaseName As String
Dim TableName As String
Dim UserID As String
Dim Password As String
Dim rs As ADODB.Recordset
Dim RowCounter As Long
Dim ColCounter As Integer
Dim NoOfFields As Integer
Dim StartRow As Long
Dim EndRow As Long
Dim ws As Worksheet
Set rs = New ADODB.Recordset


ServerName = "YourServerName" ' Enter your server name here
DatabaseName = "YourDatabaseName" ' Enter your database name here
TableName = "YourTableName" ' Enter your Table name here
UserID = "" ' Enter your user ID here
' (Leave ID and Password blank if using windows Authentification")
Password = "" ' Enter your password here
NoOfFields = 2 ' Enter number of fields to update (eg. columns in your worksheet)
StartRow = 2 ' Enter row in sheet to start reading records
EndRow = 6 ' Enter row of last record in sheet
Set ws = ThisWorkbook.Worksheets("sheet1") ' Change this to the name of the sheet with the data

Set Cn = New ADODB.Connection
Cn.Open "Driver={SQL Server};Server=" & ServerName & ";Database=" & DatabaseName & _
";Uid=" & UserID & ";Pwd=" & Password & ";"

rs.Open TableName, Cn, adOpenKeyset, adLockOptimistic

For RowCounter = StartRow To EndRow
rs.AddNew
For ColCounter = 1 To NoOfFields
rs(ColCounter) = ws.Cells(RowCounter, ColCounter)
Next ColCounter
Next RowCounter
rs.UpdateBatch

' Tidy up
rs.Close
Set rs = Nothing
Cn.Close
Set Cn = Nothing
End Sub

















Bonne journee.JP
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote