Bonjour,

La méthode recordset.find me retourne le message d'erreur 3265;
Impossible de trouver l'objet dans la collection correspondant au nom ou à la référence ordinale demandé.
MOn code est :
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
    '--- Connection ---
    With cn
        .Provider = "Microsoft.ACE.OLEDB.12.0"
        .ConnectionString = "Data Source=" & Fichier & _
            ";Extended Properties=""Excel 12.0;HDR=NO;IMEX=1"""
        .Open
    End With
    '-----------------
 
    Set My_Recordset_FERME = New ADODB.Recordset
  
  
      texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
    
    Set My_Recordset_FERME = New ADODB.Recordset
    Set My_Recordset_FERME = cn.Execute(texte_SQL)
    
    'Ecrit le résultat de la requête dans la cellule A1
    ThisWorkbook.Sheets(3).Range("A1").CopyFromRecordset My_Recordset_FERME
    
    
'My_Recordset_FERME.Open , Cn
    
compt = 1

My_Recordset_FERME.Movefirst

Do While Not My_Recordset_FERME.EOF

   My_Recordset_FERME.Find ("owner.client= '" & code_fond & "' ")
 '.......
"owner.client" est le nom de la colonne que je souhaite parcourir et code_fond est un entier "2139" par exemple.

Dans la suite de mon code, j'ai essayé d'autres manipulations sur le nom des entêtes, mais toujours le même message d'erreur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Public Position_Operation_Dic As dictionary
Position_Operation_Dic.Add My_Recordset_FERME!compt, My_Recordset_FERME!quantity '
"quantity" étant le nom d'une colonne sur le classeur fermé, avec qui j'ai établit une connexion.

ci-après une vue plus globale sur le code :

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
    '--- Connection ---
    With cn
        .Provider = "Microsoft.ACE.OLEDB.12.0"
        .ConnectionString = "Data Source=" & Fichier & _
            ";Extended Properties=""Excel 12.0;HDR=YES;IMEX=1"""
        .Open
    End With
    '-----------------
 
    Set My_Recordset_FERME = New ADODB.Recordset
 
 
      texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
 
    Set My_Recordset_FERME = New ADODB.Recordset
    Set My_Recordset_FERME = cn.Execute(texte_SQL)
 
    'Ecrit le résultat de la requête dans la cellule A1
    ThisWorkbook.Sheets(3).Range("A1").CopyFromRecordset My_Recordset_FERME
 
 
compt = 1
 
My_Recordset_FERME.Movefirst
 
Do While Not My_Recordset_FERME.EOF
 
   My_Recordset_FERME.Find ("owner.client= '" & code_fond & "' ")
 
  'My_Recordset_FERME.Find ("Owner.client" = 2139)
 
    If My_Recordset_FERME!depo = "2362|000003700000000" Then ' to add depo numbers
 
        My_Recordset_FERME.MoveNext
 
    Else
        Position_Operation_Dic.Add My_Recordset_FERME!compt, My_Recordset_FERME!quantity ' think about how to sum Quantity of similar ISIN
        ISIN_Composition_Fond_Dic.Add compt, My_Recordset_FERME!tradableAsset
        Nature_Compo_Fond_Dic.Add compt, "Ferme"
    End If
 
 
    compt = compt + 1
Loop
 
 
 
    '--- Fermeture connexion ---
    cn.Close
    Set cn = Nothing
 
 
End Function
merci