OVH Cloud OVH Cloud

Enregistrement de données

1 réponse
Avatar
EG
Bonjour,

Est-il possible =E0 l'aide d'un bouton dans le classeur1=20
d'aller enregistrer des donn=E9es dans le classeur2 sans que=20
le classeur2 soit ouvert et sans l'ouvrir.

1 réponse

Avatar
Philippe.R
Bonjour Eric,
Oui, c'est possible, Frédéric Sigonneau nous indique ceci sur Excelabo :

"========================================================================="
Je désire écrire des données dans un fichier sans l'ouvrir. Cette saisie automatisée doit être
manipulée à partir d'un autre classeur.IL est possible de lire et d'écrire dans un classeur sans
l'ouvrir, en utilisant ADO
(ActiveX Data Objects), c'est-à-dire en le considérant comme une base de données.
Quelques adresses pour plus de renseignements :

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q257819
http://www.able-consulting.com/tech.php
http://www.erlandsendata.no/english/vba/adodao/index.phpEt ci-dessous deux procédures récupérée sur le
forum anglophone, qui donnent un exemple des moyens d'accès à un classeur par l'intermédiaire d'une
connexion ADO. Attention, débutants s'abstenir :-) '============================ 'Troy W, mpep Sub
subFilesToProcess_Get() '''Get the list of files to process from a dialog box presented to the user. Dim
vFilenames As Variant Dim sFilepath As String Dim vFile As Variant vFilenames Application.GetOpenFilename( _ FileFilter:="Excel Files (*.xls), *.xls", _ Title:="Select Multiple Files
To Process", _ MultiSelect:=True) If TypeName(vFilenames) <> "Boolean" Then For Each vFile In vFilenames
subExcel_ADOconnect_ODBC sFilename:=CStr(vFile) Next vFile End If End Sub Sub
subExcel_ADOconnect_ODBC(sFilename As String) '''Must have a reference to: Microsoft ActiveX Data
Objects 2.x Library '''Tools | References from the menubar. Dim oConn As ADODB.Connection Dim oRs As
ADODB.Recordset '''Create and open a new ADO Connection using ODBC. Set oConn = New ADODB.Connection
oConn.Open "Driver={Microsoft Excel Driver (*.xls)};" & _ "FIL=excel 8.0;" & _ "DefaultDir=D:My
DocumentsExcel2000Ado;" & _ "MaxBufferSize 48;" & _ "PageTimeout=5;" & _ "DBQ=" & sFilename & ";"
'''Create the Recordset. Set oRs = New ADODB.Recordset '''Open the Recordset using a Named Ranged.
'''oRs.Open "Select * from myRange1", oConn, adOpenStatic, adLockBatchOptimistic, adCmdText '''Open the
Recordset using an unnamed range. '''oRs.Open "SELECT * FROM [Sheet1$A1:E10]", _ oConn, adOpenStatic,
adLockBatchOptimistic, adCmdText '''Open the Recordset using just the SheetName (without specifying a
range). oRs.Open "[Sheet1$]", oConn, adOpenStatic, adLockBatchOptimistic,adCmdTable '''Put your code
here to send the data recordset to a database. '''... '''As a demo, show the user a snippet of the data.
MsgBox "RecordCount: " & oRs.RecordCount & vbCrLf & _ oRs.Fields(0).Name & ", " & oRs.Fields(1).Name &
vbCrLf & _ oRs.Fields(0).Value & ", " & oRs.Fields(1).Value '''Kill the objects. Set oRs = Nothing Set
oConn = Nothing End Sub
Frédéric Sigonneau"=========================================================================="
à cette adresse :

http://www.excelabo.net/xl/fichiers.php#ecriresansouvrir
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"EG" a écrit dans le message de news:085e01c3b5b8$4e1b7ca0$
Bonjour,

Est-il possible à l'aide d'un bouton dans le classeur1
d'aller enregistrer des données dans le classeur2 sans que
le classeur2 soit ouvert et sans l'ouvrir.