Boujour a tous,
Suite a diverses recherches et questions, sur votre forum, sur la facon la plus simple d'utiliser excel comme interface d'sql serveur je vous fournis le code que j'utilise avec une requete en lecture et une autre en ecriture :
Sub ConnectionErsa()
'
' ConnectionErsa2 Macro
' Macro enregistrée le 01/04/2008 par _
'
RequeteInser = "INSERT INTO [NomDeLaTable] ([Date], Equipe, Categorie, Ligne, Scan, CodeProduit, Lot, [DLC-Congel], NbUVC, Temperature, PoidUVC, NbCarton, TypeCarton, PoidsPalette, PoidsBalance, PoidsNet, PoidsFacture, Ecart, Commentaire) VALUES (CONVERT(DATETIME, '2008-10-12 00:00:00', 102), N'soir', N'Echantillon', N'1', N'919001032204400296461700000010RTET', N'919', N'1234RTER',12 / 12 / 2008, 0, 0, 0, 5, N'0', 6, 0, 3, 0, 0, N'test pour voir si okQQPOFSPOOEDFUSOIFOSFZ')"
RequeteLit="SELECT [Date], Equipe, Categorie, Ligne, Commentaire, Ecart, PoidsFacture, PoidsNet, PoidsBalance, TypeCarton, PoidsPalette, PoidUVC, NbCarton, Temperature , NbUVC, [DLC-Congel], Lot, CodeProduit, Scan, ID FROM [NomDeLaTable]"
'
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=NomODBC;UID=sa;PWD=;APP=Microsoft® Query;WSID=X24;DATABASE=NomDeLaBase" _
, Destination:=Range("B2")) 'Recup des données dans B2 de la feuille en cours
.CommandText = RequeteInser 'Texte de la requete
.Name = "Une chaine de texte comme vous voulez"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=True
End With
End Sub
Voila merci a tous pour vos autres coup de main
.