Salut à tous,
alors, c'est pas simple, mais je propose du 'prédigéré' à ceux qui feront une recherche sur ce thème.
Ce qui suit n'est pas le fruit du travail de mes neurones (je ne suis pas encore au niveau) mais de mes recherches sur GOOGLE, merci à tous pour votre aide...
' PRODEDURE D'ECRITURE DANS UN CLASSEUR FERME
Sub classeur_ferme()
Dim fichier$, cell As Range
fichier = 'C:\\Documents and Settings\\FILTEP\\Mes documents\\TOTO.xls'
SetExternalDatas fichier, 'Feuil1', 'h18', ICI CE QUE TU VEUX ECRIRE (tecte brut entre guillemets, sinon Range A.... blabla...End Sub
' A ACCEPTER TOUT DIGERE POUR LE MOMENT (sauf pour les pros)
Sub SetExternalDatas(DestFile As String, _
DestFeuille As String, _
DestCellAdr As String, _
DataToWrite As Variant)
Dim oConn 'As ADODB.Connection
Dim oCmd 'As ADODB.Command
Dim oRS 'As ADODB.Recordset
Dim RangeDest
'd'après Rob Bovey, mpep
' Open a connection to the Excel spreadsheet
Set oConn = CreateObject('ADODB.Connection') 'New ADODB.Connection
oConn.Open 'Provider=Microsoft.Jet.OLEDB.4.0;' & _
'Data Source=' & DestFile & ';' & _
'Extended Properties=''Excel 8.0;HDR=No;'';'
' Create a command object and set its ActiveConnection
Set oCmd = CreateObject('ADODB.Command') 'New ADODB.Command
oCmd.ActiveConnection = oConn
' This SQL statement selects a cell range in the 'feuilleTest' worksheet.
'1 Sélection pour écrire dans une seule cellule
RangeDest = DestCellAdr & ':' & DestCellAdr
oCmd.CommandText = 'SELECT * from `' & DestFeuille & '$' & RangeDest & '`'
' Open a recordset containing the worksheet data.
Set oRS = CreateObject('ADODB.Recordset') 'New ADODB.Recordset
oRS.Open oCmd, , 1, 3 'adOpenKeyset, adLockOptimistic
' met a jour la dernière ligne
oRS(0).Value = DataToWrite
oRS.Update
'ferme la connection
oConn.Close
Set oConn = Nothing
Set oCmd = Nothing
Set oRS = Nothing
End Sub
Serviteur....