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 :

et une erreur 424 [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 141
    Par défaut et une erreur 424
    Bonjour ,
    je me traine une erreur 424 que je n'arrive pas a résoudre.
    Mon code fait appel a un base ouverte et récupére des valeurs dans excel.
    seulement currentDb n'a pas l'air d'être reconnu..
    est ce que quelqu'un serait me résoudre ce soucis?
    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
    Sub test()
     
    On Error GoTo errorHandler
     
        '
        'La procédure
        '
     
        'Permet de sortir de la procédure et évite la gestion d'erreur (errorHandler), si la macro
        's'est déroulée sans encombre.
     
    Dim oDb As DAO.Database
    Dim LngNouvelleValeur As Long
    Dim StrSQL As String
    Dim oRst As DAO.Recordset
    LngNouvelleValeur = 0
     
    Set oDb = CurrentDb 'DBEngine.Workspaces(0).Databases(0)
    StrSQL = "SELECT * FROM algorithme_mises, algorithme_enchere GROUP BY algorithme_mises.nid HAVING (((algorithme_mises.nid)>100))"
     
    Set oRst = oDb.OpenRecordset(StrSQL, dbOpenSnapshot)
     
    While Not oRst.EOF
    LngNouvelleValeur = oRst.Fields("SommeDeMontant").Value + LngNouvelleValeur
    oRst.MoveNext
    Wend
    InputBox (LngNouvelleValeur)
     
    'Libération des objets
    oRst.Close
    oDb.Close
    Set oRst = Nothing
    Set oDb = Nothing
     
    Exit Sub
     
    errorHandler:
        'indique le numéro et la description de l'erreur survenue
        MsgBox Err.Number & vbLf & Err.Description
     
    End Sub
    Bien a vous,

    will

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Si je comprends bien, ton code est dans un projet XL. Si c'est bien cela, il te faut une instance de l'objet application de la base de données pour appeler CurrentDB
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oDb = accApp.CurrentDb
    Tu peux aussi dès l'ouverture de la base faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Db = DAO.OpenDatabase("Chemin complet de la base", False, False)
    COrdialement,

    PGZ

  3. #3
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 141
    Par défaut et désormais cela devient un erreur 3343
    Bonjour,

    merci beaucoup de cette aide. j'ai essayer et seule la seconde semble faire changer quelquechose.
    Cela-dit si l'erreur 424 est résolue elle devient une erreur 3343: format de la base non reconnu.
    cela provient peut d'un mauvais référencement, j'ai pensé , donc voilà ce que j'ai :
    Visual basic for applications
    Microsoft Excel 12.0 Object Library
    Microsoft Office 12.0 Object Library
    OLE automation
    Microsoft DAO 3.6 Object Library
    Microsoft Data Acces Components installed version

    si dessous le code du chemin de la base.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oDb = DAO.OpenDatabase("C:\Users\Rclé\Documents\Base de données1.accdb", False, False)


    De nouveau merci par avance de votre aide,

    Sincèrement,

    Will

  4. #4
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonsoir.

    Au temps pur moi, je n'avais pas vu que tu travaillais avec office 2007. La bibli DAO 3.6 ne reconnait pas les fichiers accdb.

    Si tu veux rester en DAO, tu peux contourner le difficulté ainsi
    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
    Dim sFile As String, sSQL As String
    Dim db As DAO.Database
    Dim accApp As Access.Application
    Dim rst As DAO.Recordset
     
    sFile = "chemin complet de la base"
     
    Set accApp = GetObject(sFile)
    Set db = accApp.CurrentDb
     
    sSQL = "SELECT ...;"
    Set rst = db.OpenRecordset(sSQL, dbOpenDynaset)
     
    ThisWorkbook.Worksheets(1).Range("A1").CopyFromRecordset rst
     
    rst.Close
    accApp.Quit
     
    Set rst = Nothing
    Set accApp = Nothing
    Set db = Nothing
    COrdialement,

    PGZ

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème erreur 424 suppression d'une ligne via listbox
    Par Chris171717 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/02/2013, 18h04
  2. Réponses: 3
    Dernier message: 24/11/2011, 00h28
  3. Pb erreur 424 lors d'une modif de l'heure
    Par pouet35 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/02/2011, 12h21
  4. Réponses: 6
    Dernier message: 08/12/2009, 22h12
  5. je veu copier une feuille d'un classeur et il affiche erreur 424
    Par booskap dans le forum Macros et VBA Excel
    Réponses: 58
    Dernier message: 26/07/2007, 10h31

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