Bonjour
Il y a déjà plein de post sur le sujet mais je n’arrive pas à comprendre mon erreur.
Je souhaite écrire (modifier) une ligne donnée dans un fichier sans l’ouvrir.
Voici mon code :
Et je me retrouve avec ce message d’erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 Sub exportDonneeDansCelluleClasseurFerme() Dim Cn As ADODB.Connection Dim Cd As ADODB.Command Dim Rst As ADODB.Recordset Dim fichier As String, NomFeuille As String, NomCol As String Dim NumLigne As Integer, i As Integer Dim tableau(60) As Variant fichier = "F:\Classeur1.xlsm" NomFeuille = "Feuil1" NumLigne = 3 For i = 1 To 60 tableau(i) = i Next i Set Cn = New ADODB.Connection ' pour Xl 2007 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 For i = 1 To UBound(tableau()) NomCol = Split(Columns(i).Address, ":$")(1) Cd.CommandText = "SELECT * FROM [" & NomFeuille & "$" & NomCol & NumLigne & ":" & NomCol & NumLigne & "]" Set Rst = New ADODB.Recordset Rst.Open Cd, , adOpenKeyset, adLockOptimistic Rst(0).Value = tableau(i) Rst.Update Next i Cn.Close Set Cn = Nothing Set Cd = Nothing Set Rst = Nothing End Sub
« Cette table contient des cellules hors de la plage de cellules définie dans cette feuille de calcul. »
Merci de votre aide
Partager