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

VBA Access Discussion :

Erreur : mon macro ne trouve pas ma base de donnée Engins


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut Erreur : mon macro ne trouve pas ma base de donnée Engins
    Bonjour tout le monde,

    voila j'ai une petite application et quand je cliques sur un macro, j'ai l'erreur suivante :

    -> Microsoft office Access ne peut pas trouver l'objet 'Engins'

    *le nom de l'objet est mal orthographié. vérifiez ...
    *................Utilisez le gestionnaire d'attaches pour mettre à jour le lien et pointez vers le chemin correct

    Pouvez vous m'aider Merci
    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
    Option Compare Database
     
    '------------------------------------------------------------
    ' Import_Engins
    '
    '------------------------------------------------------------
    Function Import_Engins()
    On Error GoTo Import_Engins_Err
     
        ' Suppression tabe Engins
        DoCmd.DeleteObject acTable, "Engins"
        ' Import et création nouvelle table Engins à partir du fichier Engins.xlsx du dossier Documents du PC
        DoCmd.RunSavedImportExport "Importation-Engins"
        ' Message de confirmation d'import
        Beep
        MsgBox "Si vous n'avez pas eu d'autres messages avant celui-ci, l'import s'est déroulé correctement", vbOKOnly, "IMPORT TABLE ENGIN ..."
     
     
    Import_Engins_Exit:
        Exit Function
     
    Import_Engins_Err:
        MsgBox Error$
        Resume Import_Engins_Exit
     
    End Function

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Bonjour,

    Le message est clair.

    La table Engins n'existe pas au moment où le code est lancé (suppression de la table) donc il y a erreur.

    2 solutions :
    - Vérifier si la table "Engins" existe avant de lancer le code.
    - Faire en sorte qu'avant le lancement, une table "Engins" existe (créée manuellement ou avec du code).

    Bonne continuation.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut
    je ne suis pas un utilisateur d'acsess mais je vois que j'ai bien une table engines dans le dossier Documents (fichier excel Engins et fichier acsses Engins..) mais ça marche pas toujours.

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Là tu me parles de fichiers Engins ou Engine dans le dossier Documents de l'Explorateur de Windows j'imagine.

    Moi, je parle d'une table Engins dans ta base de données Access.

    Tu ouvres ta base de données :

    Si t'es sur Access 2003 ou inférieur, tu as une fenêtre des objets classés par catégorie (Tables - Requêtes - Formulaires - etc...) Tu vas dans Tables et tu vérifies si tu as ta table Engins.

    La même chose sur les version Access à partir de 2007, tu as un volet de navigation à gauche et tu regardes s'il y a une table Engins dedans.

    Si elle n'existe pas, il faut la créer avant de lancer le code.

    @+

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut
    j'en ai pas dans le voplet tables masi j'arrive pas à créer la base car quand je cliques sur créer tous est désactivé je ne peux rien faire . Comment je peux faire ?

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    T'as quelle version d'Access et ton fichier a quelle extension?
    Comment tu arrives au code que tu as posté?

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut
    Merci j'ai réussi à créer la table et le macro fonctionne mais j'ai une autre erreur au niveau d'un deuxième macro : le moteur de bdd M Access n'ai pas pu trouver l'objet C:\Users\Public\fichier.xls mais le fichier existe bien dans l'emplacement la seule différence c'est que sur mon ordinateur au lieus d users j ai utilisateurs est ce que ça change quelques chose :

    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
     
    '------------------------------------------------------------
    ' Créat_T_Heures_engin_SAP_TST
    '
    '------------------------------------------------------------
    Function Créat_T_Heures_engin_SAP_TST()
    On Error GoTo Créat_T_Heures_engin_SAP_TST_Err
     
        Beep
        MsgBox "Si vous avez un message d'erreur avant celui informant de la fin de la procédure, cliquer sur arrêter toutes les macros et vérifier dans les fichiers Excel d'export des BDT et BDT TST que les heures sont toutes au format 00:00.", vbExclamation, "Durant la procédure..."
        DoCmd.Echo True, "Création du fichier T Heures engins SAP.xlsx en cours ..."
        DoCmd.RunSavedImportExport "Importation-Export excel de la liste des BDT"
        DoCmd.RunSavedImportExport "Importation-Export excel de la liste des BDT TST"
        DoCmd.SetWarnings False
        DoCmd.OpenQuery "R création T Heures engin SAP 1/6", acViewNormal, acEdit
        DoCmd.OpenQuery "R création T Heures engin SAP 2/6", acViewNormal, acEdit
        DoCmd.OpenQuery "R création T Heures engin SAP 3/6", acViewNormal, acEdit
        DoCmd.OpenQuery "R création T Heures engin SAP 4/6", acViewNormal, acEdit
        DoCmd.OpenQuery "R Création T Heures engin SAP 5/6", acViewNormal, acEdit
        DoCmd.OpenQuery "R Création T Heures engin SAP 6/6", acViewNormal, acEdit
        Beep
        MsgBox "La procédure s'est correctement déroulée. Le fichier T Heures engins SAP va s'ouvrir. Si des heures comportent un grand nombre de chiffres après la virgule, vérifier dans le fichier Excel des BDT et BDT TST que toutes les heures sont collectées en 1/4H.", vbInformation, "Fin de la procédure..."
        DoCmd.RunSavedImportExport "Exportation-T Heures engins SAP"
        DoCmd.Quit acSave
     
     
    Créat_T_Heures_engin_SAP_TST_Exit:
        Exit Function
     
    Créat_T_Heures_engin_SAP_TST_Err:
        MsgBox Error$
        Resume Créat_T_Heures_engin_SAP_TST_Exit
     
    End Function
    . pour le code je converti le macro en vba et j ai access 2007

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Les lignes où tu as DoCmd.RunSavedImportExport exécutent une importation ou exportation enregistrées de fichier Excel avec des paramètres prédéfinis. Et on ne peut pas changer le nom (et emplacement) des fichiers sources ou destinations avec les outils d'Access.
    Il te faudrait ré-enregistrer l'importation ou l'exportation en mettant les paramètres de ta machine.

    Tu vas dans Menu->Données externes->Exportations enregistrées OU Importations enregistrées pour lire les paramètres. (Tu notes ou fais copie de ta base).

    Tu les supprimes et recrées de nouvelles procédures avec les mêmes noms :
    "Importation-Export excel de la liste des BDT"
    "Importation-Export excel de la liste des BDT TST"
    "Exportation-T Heures engins SAP"
    mais avec les caractéristiques sur ta machine (emplacements des fichiers).

    Bonne continuation.

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut
    Merci beaucoup, j'ai plus ces erreurs mais il me reste une dernière erreur que je comprends pas . le moteur de base de données ne peut trouver "OI-EOTP$". assurez-vous que le nom de paramètre ou d'alias est valide, qu'il ne comprend pas de caractère ou de ponctuation incorrect et qu'il n'est pas trop long.

  10. #10
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut
    j'ai un fichier dans mon classeur intitulé OI-EOTP, et je comprends pas pourquoi m'affiche cette erreur. le moteur de la base de données ne peut pas trouver "'OI-EOTP$'. Assurez ous que le nom de paramètre ou d'alias est valide , qu'il ne comprend pas de caractère ou de ponctuation incorrect . pourquio j'ai le dolar dans le message d'erreur alors que mon fichier n'ya rien ??

  11. #11
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Serait-il possible de voir à quel niveau se déclenche cette erreur?
    Merci @+

  12. #12
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut
    je vous postule code de macro converti :
    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
    '------------------------------------------------------------
    ' Créat_T_Heures_engin_SAP_TST
    '
    '------------------------------------------------------------
    Function Créat_T_Heures_engin_SAP_TST()
    On Error GoTo Créat_T_Heures_engin_SAP_TST_Err
     
        Beep
        MsgBox "Si vous avez un message d'erreur avant celui informant de la fin de la procédure, cliquer sur arrêter toutes les macros et vérifier dans les fichiers Excel d'export des BDT et BDT TST que les heures sont toutes au format 00:00.", vbExclamation, "Durant la procédure..."
        DoCmd.Echo True, "Création du fichier T Heures engins SAP.xlsx en cours ..."
        DoCmd.RunSavedImportExport "Importation-Export excel de la liste des BDT"
        DoCmd.RunSavedImportExport "Importation-Export excel de la liste des BDT TST"
        DoCmd.SetWarnings False
        DoCmd.OpenQuery "R création T Heures engin SAP 1/6", acViewNormal, acEdit
        DoCmd.OpenQuery "R création T Heures engin SAP 2/6", acViewNormal, acEdit
        DoCmd.OpenQuery "R création T Heures engin SAP 3/6", acViewNormal, acEdit
        DoCmd.OpenQuery "R création T Heures engin SAP 4/6", acViewNormal, acEdit
        DoCmd.OpenQuery "R Création T Heures engin SAP 5/6", acViewNormal, acEdit
        DoCmd.OpenQuery "R Création T Heures engin SAP 6/6", acViewNormal, acEdit
        Beep
        MsgBox "La procédure s'est correctement déroulée. Le fichier T Heures engins SAP va s'ouvrir. Si des heures comportent un grand nombre de chiffres après la virgule, vérifier dans le fichier Excel des BDT et BDT TST que toutes les heures sont collectées en 1/4H.", vbInformation, "Fin de la procédure..."
        DoCmd.RunSavedImportExport "Exportation-T Heures engins SAP"
        DoCmd.Quit acSave
     
     
    Créat_T_Heures_engin_SAP_TST_Exit:
        Exit Function
     
    Créat_T_Heures_engin_SAP_TST_Err:
        MsgBox Error$
        Resume Créat_T_Heures_engin_SAP_TST_Exit
     
    End Function
    après le premier message de Msgbox j'ai cette erreur et quand je regarde mes fichiers excel. le classeur BDT contient une feuille excel sous le nom OI-EOTP.

  13. #13
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    D'accord, après la ligne 9, mais il faut identifier si c'est la ligne 11 ou 12.

    Il faut debogger, donc mettre un
    Msgbox "C'est bon jusque là" après la ligne 11.

    Déplacer cette alerte pour voir où le code bloque.

  14. #14
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut
    ça bloque au niveau de importation-export excel de la liste BDT TST

  15. #15
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 846
    Points : 7 983
    Points
    7 983
    Par défaut
    Il faudrait vérifier les paramètres de l'importation enregistrée comme indiquée lors de notre échange #8 et #9. Peut-être qu'il y a une erreur dans les noms de fichier Excel??

  16. #16
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 377
    Points : 71
    Points
    71
    Par défaut
    les noms de fichiers et liens sont bons . mais dans mon classeur BDT j'ai un fichier OI-EOTP mais même si je change ce nom j'ai toujours l meme erreur ci dessus avec le moteur ne peut aps trouver OI-EOTP$

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/04/2008, 16h40
  2. le programme ne trouve pas la base de données
    Par frederix quest dans le forum Windows Forms
    Réponses: 4
    Dernier message: 03/08/2007, 14h42
  3. MySQL ne trouve pas la base de données
    Par alfigor dans le forum Outils
    Réponses: 3
    Dernier message: 26/06/2006, 13h42
  4. Réponses: 20
    Dernier message: 08/06/2006, 11h12
  5. [PostgreSQL] erreurs dont je ne trouve pas l'origine
    Par flo78 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 20/01/2006, 14h38

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