erreur d'exécution dans écriture fichier fermer

kevenpom

XLDnaute Junior
Bonjour a tous,
merci de prendre le temp d'aider les nouveaux comme moi :D

j'ai un code prit sur le net
Code:
Private Sub CommandButton1_Click()
Dim Cn As ADODB.Connection
Dim Cd As ADODB.Command
Dim Rst As ADODB.Recordset
Dim Fichier As String

Fichier = ThisWorkbook.Path & "\bd.xls" 'adapter le chemin du fichier fermé

Set Cn = New ADODB.Connection
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
           "Data Source=" & Fichier & ";" & _
           "Extended Properties=""Excel 8.0;HDR=No;"";"

Set Cd = New ADODB.Command
Cd.ActiveConnection = Cn

'insertion dans la cellule A1 de la "Feuil1" du classeur fermé
Cd.CommandText = "SELECT * from [Feuil2$]"

Set Rst = New ADODB.Recordset
Rst.Open Cd, , adOpenKeyset, adLockOptimistic

    With Rst
    .AddNew
    .Fields(0) = TextBox11
    .Fields(1) = TextBox12
    .Fields(2) = TextBox13
    .Fields(3) = TextBox14
    '.Fields(5) = TextBox15
    '.Fields(4) = TextBox16
    .Update
    End With
  
Cn.Close

Set Cn = Nothing
Set Cd = Nothing
Set Rst = Nothing
End Sub

Mais il me marque comme message d'erreur 'item cannot be found in the collection corresponding to the requested name or ordinal.'

pourtant jai belle et bien mes textbox du nom 11 a 16 mais pourquois il refuse d'écrire dans mon fichier fermer ???

Un peu d'aide serait le bien venu :(
 

PMO2

XLDnaute Accro
Re : erreur d'exécution dans écriture fichier fermer

Bonjour,

L'erreur doit provenir de l'absence de titre de colonne dans le classeur fermé bd.xls.

FAIRE
1) ouvrir le classeur bd.xls et sur la Feuil2 inscrire les 4 titres de colonnes manquants (en A1 B1 C1 D1)
2) copier le code ci-dessous pour faire un test

Code:
  '#################################################################
  '###         ATTENTION : dans le classeur fermé bd.xls,        ###
  '### il faut, au préalable, nommer les 4 colonnes de la Feuil2 ###
  '#################################################################

Private Sub CommandButton1_Click()
Dim Cn As ADODB.Connection
Dim Cd As ADODB.Command
Dim Rst As ADODB.Recordset
Dim Fichier As String
Fichier = ThisWorkbook.Path & "\bd.xls" 'adapter le chemin du fichier fermé
Set Cn = New ADODB.Connection
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
           "Data Source=" & Fichier & ";" & _
           "Extended Properties=""Excel 8.0;HDR=No;"";"
Set Cd = New ADODB.Command
Cd.ActiveConnection = Cn
'insertion dans la cellule A1 de la "Feuil2" du classeur fermé
Cd.CommandText = "SELECT * from [Feuil2$]"
Set Rst = New ADODB.Recordset
Rst.Open Cd, , adOpenKeyset, adLockOptimistic
With Rst
  .AddNew
  .Fields(0) = TextBox11
  .Fields(1) = TextBox12
  .Fields(2) = TextBox13
  .Fields(3) = TextBox14
    '--- sur une nouvelle ligne (pour essai) ---
  .AddNew
  .Fields(0) = TextBox14
  .Fields(1) = TextBox13
  .Fields(2) = TextBox12
  .Fields(3) = TextBox11
  .Update
End With
Cn.Close
Set Cn = Nothing
Set Cd = Nothing
Set Rst = Nothing
End Sub

Cordialement.

PMO
Patrick Morange
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 429
Messages
2 088 350
Membres
103 823
dernier inscrit
ben talha redouane