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

IHM Discussion :

Comment supprimer les macros incorporées ?


Sujet :

IHM

  1. #1
    Membre habitué Avatar de Le Sage
    Homme Profil pro
    Formateur Conseil en Bureautique et CMS, Développeur VBA, Power Query, Power Pivot
    Inscrit en
    Novembre 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Formateur Conseil en Bureautique et CMS, Développeur VBA, Power Query, Power Pivot
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2009
    Messages : 210
    Points : 171
    Points
    171
    Par défaut Comment supprimer les macros incorporées ?
    Bonjour à toutes et tous !

    Tout est dans le titre...

    J'ai à faire évoluer le boulot fait par un autre, lequel a utilisé des macros incorporées.
    Peu importe les raisons qui l'y ont conduit ou celle qui me poussent à cette décision, je veux supprimer toutes les macros incorporées au profit de code VBA... sauf que je ne parviens pas à trouver comment les supprimer

    Note : il s'agit de les supprimer, pas de les désaffecter des événements et de les laisser traîner dans les limbes des divers formulaires et états qu'elles polluent !


    Merci par avance de votre aide !
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait. (Mark TWAIN)

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,

    Le compactage n'y fait rien, pas même la décompilation.

    Utilise cette méthode pour exporter tes objets au format texte :

    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
    Function fSaveAsText()
    Dim appAccess  As Access.Application
    Dim db         As DAO.Database
    Dim obj        As Object
    Dim i          As Integer
    Dim chemin     As String
     
        chemin = "d:\stock"  'stockage des fichiers texte
        Set appAccess = New Access.Application
        appAccess.OpenCurrentDatabase "C:\fichier.accdb"  ' base à exporter
     
        Set db = appAccess.CurrentDb
     
        With appAccess
     
            For Each obj In db.Containers("Forms").Documents
                .SaveAsText acForm, obj.Name, chemin & obj.Name & ".frm"
            Next
     
            For Each obj In db.Containers("Reports").Documents
                .SaveAsText acReport, obj.Name, chemin & obj.Name & ".rpt"
            Next
     
            For Each obj In db.Containers("Modules").Documents
                .SaveAsText acModule, obj.Name, chemin & obj.Name & ".bas"
            Next
     
            For Each obj In db.Containers("Scripts").Documents
                .SaveAsText acMacro, obj.Name, chemin & obj.Name & ".mac"
            Next
     
            For i = 0 To db.QueryDefs.Count - 1
                If Not db.QueryDefs(i).Name Like "~*" Then
                    .SaveAsText acQuery, db.QueryDefs(i).Name, chemin & db.QueryDefs(i).Name & ".qry"
                End If
            Next i
        End With
     
        db.Close
        appAccess.CloseCurrentDatabase
        Set db = Nothing
        Set appAccess = Nothing
    End Function
    Puis ceci pour faire l'import :

    ici c'est pour les formulaires
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.LoadFromText acForm, "Formulaire1", "D:\stock\Formulaire1.frm"
    L'idéal étant de parcourir les fichiers, repérer les types via l'extension pour changer le acForm, le nom pour déterminer le nom de l'objet.

    Tu peux également ne traiter que les formulaires.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre habitué Avatar de Le Sage
    Homme Profil pro
    Formateur Conseil en Bureautique et CMS, Développeur VBA, Power Query, Power Pivot
    Inscrit en
    Novembre 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Formateur Conseil en Bureautique et CMS, Développeur VBA, Power Query, Power Pivot
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2009
    Messages : 210
    Points : 171
    Points
    171
    Par défaut
    Bonjour Loufab, et merci d'avoir pris le temps de te pencher sur mon cas... même si j'ai du mal à envisager ce que je crois comprendre de ta réponse (que la structure et le code d'un formulaire ou d'un état peut se traduire en texte en faisant abstraction des macros incorporées) !

    Je vais donc la mettre en oeuvre, et je reviendrai ici poster le résultat de mes investigations, qui, si elles s'avèrent concluantes, me permettront de classer ce sujet comme résolu !
    Ils ne savaient pas que c'était impossible, alors ils l'ont fait. (Mark TWAIN)

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    En effet tous les objets ACCESS peuvent être exporter et importer dans et depuis un format texte.
    Au passage les macro incorporées disparaissent.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

Discussions similaires

  1. Comment supprimer les doublons
    Par djelloulc dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 17/09/2013, 14h30
  2. Comment supprimer les doublons?
    Par Dnx dans le forum Langage SQL
    Réponses: 3
    Dernier message: 24/11/2005, 16h35
  3. [vbexcel]Comment supprimer les doublons dans une combobox?
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 24/11/2005, 11h12
  4. Comment supprimer les tags RTF
    Par Dnx dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 20/09/2005, 14h55
  5. [String] Comment supprimer les accents
    Par iuz dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 08/03/2004, 02h58

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