Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives


 
 
LinkBack Outils de la discussion
Vieux 24/04/2003, 05h50   #1 (permalink)
Alyre
Guest
 
Messages: n/a
Par défaut ADO , écrire dans un Classeur fermé

Bonsoir a Toutes et a tous

Je voudrais écrire dans un classeur fermé avec cette SUB, elle ne marche pas , je m'explique a la ligne

SetExternalDatas Fich, "Feuil2", cell.Address(A1, A2), cell.Text

elle me répond que Sub ou Function non Défini, J'ai bien cochée dans la bibliothèque, 'Microsoft ActiveX Data Objects 2.x Library

Comment je doit définir ma Function

'Pour lire et écrire dans un classeur fermé en utilisant ADO,
'la bibliothèque
'Microsoft ActiveX Data Objects 2.x Library
'doit être cochée dans Outils\Références du VBAProject



Sub EcritDatas()
Dim Fich$, cell As Range

Fich = "C:\Documents and Settings\Mes documents\Classeur1.xls" 'à adapter

'écrit dans le classeur fermé la valeur des cellules A1:A5
'du classeur actif
For Each cell In ActiveWorkbook.Sheets("Feuil2").Range("A1:A5")
SetExternalDatas Fich, "Feuil2", cell.Address( 0, 0), cell.Text
Next

'écrit en A6 la date et l'heure de l'opération
SetExternalDatas Fich, "Feuil1", "A6", "mise à jour du " & Now

'on regarde le résultat
DoEvents
Workbooks.Open Fich

End Sub


Merci a l'avance

@ ++ alyre
 
ANNONCES
Vieux 24/04/2003, 12h16   #2 (permalink)
Jon
Guest
 
Messages: n/a
Par défaut Re: ADO , écrire dans un Classeur fermé


regarde ce lien
<http://groups.google.fr/groups?hl=fr&lr=&ie=UTF-8&oe=UTF-8&threadm=3E1B672A.EC155A97%40wanadoo.fr&rnum=1&pr ev=/groups%3Fq%3Dgroup%253A*excel*%2BSetExternalDatas% 2B%26ie%3DUTF-8%26oe%3DUTF-8%26hl%3Dfr>

c'est un sujet déjà abordé ici, j'avais orienté vers le site de Frédéric Sigonneau <http://perso.wanadoo.fr/frederic.sigonneau> qui intervient dans le message lié ci-dessus
 
Vieux 26/04/2003, 20h57   #3 (permalink)
Alyre
Guest
 
Messages: n/a
Par défaut Re: ADO , écrire dans un Classeur fermé

Bonjour le forum

Salut Jon

Merci bien pour le lien, mais c'est sur ce lien que j'avais copier la sub

alors mon problème n'est pas encore réglé,

qui pourais me dire, ce que fait de pas corecte

si qu'elle qu'un pourais me donner une exemple, ça serais tres aprécier

merci 1000 fois pour c'eux qui veuille bien prendre de leur temps pour aider un petit gas qui ne peut pas ce sortire du trous avec cette sub

@ ++ alyre
 
Vieux 27/04/2003, 13h38   #4 (permalink)
STéphane
Guest
 
Messages: n/a
Par défaut Re: ADO , écrire dans un Classeur fermé

bonjour

et le lien google que j'ai cité ?
en tout cas, je viens de le reprendre et ça marche :


'Pour lire et écrire dans un classeur fermé en utilisant ADO,
'la bibliothèque 'Microsoft ActiveX Data Objects 2.x Library
'doit être cochée dans Outils\Références du VBAProject



Sub EcritDatas()
Dim Fich$, cell As Range

Fich = "C:\Documents and Settings\STephane\Bureau\mmm.xls" 'à adapter

'écrit dans le classeur fermé la valeur des cellules A1:A5
'du classeur actif
For Each cell In ActiveWorkbook.Sheets("Feuil2").Range("A1:A5")
SetExternalDatas Fich, "Feuil2", cell.Address(0, 0), cell.Text
Next

'écrit en A6 la date et l'heure de l'opération
SetExternalDatas Fich, "Feuil1", "A6", "mise à jour du " & Now

'on regarde le résultat
DoEvents
Workbooks.Open Fich

End Sub

'écrit DataToWrite dans la cellule DestCellAdr
'de la feuille DestFeuille du classeur fermé DestFile
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 = 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 = 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 = New ADODB.Recordset
oRS.Open oCmd, , adOpenKeyset, adLockOptimistic

' Update last row
oRS(0).Value = DataToWrite
oRS.Update

'Close the connection
oConn.Close
Set oConn = Nothing
Set oCmd = Nothing
Set oRS = Nothing

End Sub
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 08h49.


(C) 2006 Excel Downloads