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 :

Contenu des macros sous VBA


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 74
    Points : 88
    Points
    88
    Par défaut Contenu des macros sous VBA
    Bonjour à tous.
    Ce n'est pas sans avoir pris la peine de consulter les FAQ's, les sites de Microsoft et autres traitant du sujet que j'en arrive à devoir demander de l'aide.

    Mon problème est le suivant : j'essaie en vain de trouver la manière d'extraire le contenu des macros Access depuis VBA.
    Il est bien entendu possible d'obtenir un objet AccessObject dans la collection AllMacros, mais à part le nom de la macro, rien d'autre ne semble être disponible

    Quelqu'un a-t-il une idée de la manière de procéder pour récupérer la totalité de la description des différentes séquences de la macro ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Si j'ai bien compris tu veux explorer le code par VBA.
    Peut-être que cela te donnera une piste (c'est pour Excel, mais adaptable)

    Starec

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 74
    Points : 88
    Points
    88
    Par défaut
    Merci pour ta réponse, je viens de parcourrir le lien mais ce n'est malheureusement pas adaptable pour Access.

    Le problème vient également du fait que la notion de Macro est bien souvent utilisée pour désigner du code VBA. (De ce côté là, pas de problème, il est possible d'ouvrir l'éditeur de code VBA par la propriété VBE de l'objet application et de manipuler tout ce qu'on veut). Mais toutes les recherches dans les aides, les forums, et autres sites aboutissent immanquablement sur la récupération du nom de la macro ou l'accès à l'éditeur de code VBA.

    L'aide de Microsoft donne le code suivant, mais ne donne pas plus d'explications sur le reste de la structure de la macro.

    "L'exemple suivant imprime le nom de chaque objet AccessObject ouvert dans la collection AllMacros.

    Sub AllMacros()
    Dim obj As AccessObject, dbs As Object
    Set dbs = Application.CurrentProject
    ' Search for open AccessObject objects in AllMacros collection.
    For Each obj In dbs.AllMacros
    If obj.IsLoaded = True Then
    ' Print name of obj.
    Debug.Print obj.Name
    End If
    Next obj
    End Sub"

    Pourtant, il doit bien y avoir un moyen de récupérer le tout, mais comment ?

    En tout cas, merci d'avoir répondu à ma demande.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Ok j'ai vu ce que tu veux, hélas pour les macros je ne sais pas (j'en ai pas besoin, je ne les utilise pas).

    Désolé.

    Starec

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 74
    Points : 88
    Points
    88
    Par défaut
    Moi non plus, je ne les utilise jamais, mais je dois bien souvent intervenir dans des applications existantes comportant généralement de nombreuses macros , et pour me faciliter la vie, je suis en train de développer une application complète de documentation techique pour Access.
    La solution facile serait de convertir toutes les macros en VBA, mais je ne peux pas me permettre de modifier les DB des clients.

  6. #6
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    il existe une méthode non documentée et masquée de l'objet Application qui permet d'exporter les macros vers un fichier texte.

    Il s'agit de la méthode SaveAsText

    Voici un exemple d'utilisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.SaveAsText acMacro,"macTest","c:\test.txt"

    Si cela peut t'être utile

    ++

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 74
    Points : 88
    Points
    88
    Par défaut
    Ben voilà, c'était pas si compliqué mais fallait y penser. En tout cas un grand merci à toi pour ton aide.

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

Discussions similaires

  1. executer des requêtes sous VBA
    Par 18mar dans le forum VBA Access
    Réponses: 3
    Dernier message: 22/12/2007, 08h59
  2. Creer un fichier POWERPOINT contenant des graphes sous VBA
    Par mamid1706 dans le forum VBA PowerPoint
    Réponses: 2
    Dernier message: 21/11/2007, 21h29
  3. [VBA-E]Problème de longueur de macro sous VBA [E]
    Par titou8383 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 23/04/2007, 19h00
  4. Modifier les noms des champs sous VBA
    Par shadockgreg dans le forum Access
    Réponses: 2
    Dernier message: 22/09/2006, 17h50
  5. Activation des macros sous Excel
    Par Igloobel dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/10/2005, 11h44

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