Transfert de donnée depuis Excel en VBA vers SQL Server
Bonjour,
Je souhaite faire un transfert de base de données depuis Excel (en VBA) vers SQL Server.
J'ai vu qu'il y a possibilité de créer une procédure stockée dans un fichier .sql en faisant un lien OBDC vers le fichier Excel que l'on souhaite importer. Mais n'y a t'il pas un moyen de créer une procédure en VBA pour faire la même chose?
Merci
Tu peux très bien tout piloter depuis vba, suffit que ta table soit créé dans SQL Server et que tu ais accés au serveur pour l'écriture. Ça prendrait plus d'info pour continuer, peut-être un exemple des données à transférer en fichier joint.
-- Lun Juin 06, 2011 9:46 am --
un exemple de fonction pour écrire dans une table du serveur:
Const ConnectionADO As String = "Provider=SQLNCLI10;Server=AdresseDuServeur;Database=NomDeLaTable;Uid=NomUsager; Pwd=MotDePasse;"
Private Function EcritureTable(Valeur1 as string, Valeur2 as string) As Boolean
On Error GoTo GestionErreur
Dim cnn As ADODB.Connection
Dim objCommand As ADODB.Command
Dim rst As ADODB.Recordset
Set cnn = New ADODB.Connection
With cnn
.CursorLocation = adUseClient
.Open ConnectionADO
.CommandTimeout = 30
End With
Set objCommand = New ADODB.Command
objCommand.ActiveConnection = cnn
objCommand.CommandType = adCmdText
objCommand.CommandText = "INSERT INTO MaTable(Champs1, Champs2) " & _
"VALUES(" & Valeur1 & "," & Valeur2 & ")"
Set rst = objCommand.Execute
EcritureTable = True
GoTo Fin
GestionErreur:
EcritureTable = False
Fin:
'Fermeture et nettoyage
Set rst = Nothing
Set objCommand = Nothing
cnn.Close
Set cnn = Nothing
End Function
Premièrement il faut activer la référence "Microsoft ActiveX Data Objects x.x Library".
Ensuite modifie les informations de la première ligne pour celle de ton serveur
Const ConnectionADO As String = "Provider=SQLNCLI10;Server=AdresseDuServeur;Database=NomDeLaBD;Uid=NomUsager; Pwd=MotDePasse;"
Ensuite tu vas devoir changer le code sql pour écrire dans la table
objCommand.CommandText = "INSERT INTO MaTable(Champs1, Champs2) " & _
"VALUES(" & Valeur1 & "," & Valeur2 & ")"
si tu n'y connais rien en SQL je peux t'aider. Voila c'est un petit exemple vite fait à adapter
Bonjour
je voudrais ecrire sur la table la colonne D et E en fonction de la colonne A .
voici le fichier en pj .
la table est deja crée ainsi que les colonne ...je voudrai juste inscrire les valeur
merci de votre aide