Begin_09
Messages postés5Date d'inscriptionmardi 5 juin 2007StatutMembreDernière intervention18 septembre 2007
-
17 sept. 2007 à 21:09
Begin_09
Messages postés5Date d'inscriptionmardi 5 juin 2007StatutMembreDernière intervention18 septembre 2007
-
18 sept. 2007 à 00:54
Bonjour à tous,
J'avais une petite application qui marchait bien et j'essaye de la transformer pour qu'elle fonctionne à nouveau sous Excel 2007. Mais, il m'est impossible d'écrire ailleurs que dans la cellule B1 (alors que d'après moi, ce code devrait écrire dans la cellule B30 de la feuille Config).
Voici mon code :
Dim Cn As ADODB.Connection
Dim Cd As ADODB.Command
Dim Rst As ADODB.Recordset
Dim Fichier As String
Fichier = "c:\toto.xlsx"
Set Cn = New ADODB.Connection
Cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & Fichier & ";" & _
"Extended Properties=""Excel 12.0;HDR=NO;"""
Set Cd = New ADODB.Command
Cd.ActiveConnection = Cn
Cd.CommandText = "SELECT * FROM [Config$B30:B30]"
Set Rst = New ADODB.Recordset
Rst.Open Cd, , adOpenKeyset, adLockOptimistic
Rst(0).Value = "Donnée test"
Rst.Update
Cn.Close
Set Cn = Nothing
Set Cd = Nothing
Set Rst = Nothing
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 18 sept. 2007 à 00:16
Je ne comprends pas vraiment ta façon de procéder, mais pourrais-tu expliquer d'où proviennent ces données (variable Fichier) et où tu veux les copier ?
Fichier est un fichier Excel ? ou Txt ? ou Access ?
Begin_09
Messages postés5Date d'inscriptionmardi 5 juin 2007StatutMembreDernière intervention18 septembre 2007 18 sept. 2007 à 00:54
Quelques éclaircissements :
J'ai un fichier xls, format excel 2007 : toto.xlsx
J'accède à ce fichier fermé avec la méthode ADO. Je lui écris dans sa cellule B30 la valeur "Donnée test".
Cette méthode fonctionnait sous Excel 2003, mais sous Excel 2007, malgré les modifications apportées pour le " Provider", la donnée s'écrit dans la cellule B1. En passant, je ne peux plus lire une seule cellule non plus, mais uniquement une plage dans un fichier fermé...