IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

ERREUR d'exécution 3265/Recordset.find


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Août 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Août 2017
    Messages : 18
    Par défaut ERREUR d'exécution 3265/Recordset.find
    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

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code HDR=YES : Sélectionner tout - Visualiser dans une fenêtre à part
    My_Recordset_FERME.Find ("owner#client= '" & code_fond & "' ")

Discussions similaires

  1. Erreur d'exécution 3265
    Par ivoratparis dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 16/07/2013, 21h42
  2. Réponses: 2
    Dernier message: 02/08/2010, 16h31
  3. Réponses: 1
    Dernier message: 30/05/2007, 10h41
  4. Erreurs d'exécution sous delphi 5
    Par nkd dans le forum Langage
    Réponses: 3
    Dernier message: 06/11/2004, 17h25
  5. [Apache Perl] Erreur à l'exécution de mes cgi
    Par GLDavid dans le forum Apache
    Réponses: 4
    Dernier message: 28/08/2004, 20h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo