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

Rechercher des sujets similaires à "transfert donnee vba sql server"