Peut-on faire modifier le code d'une macro VBA par une macro VBA ?

krystof_ii

XLDnaute Occasionnel
Bonjour,

Est-il possible de concevoir une macro en vba dont l'objectif et de modifier directement les codes macro ?

Pour exemple d'utilisation : mise à jour du moteur vba, ...

Dans mon probleme actuellement :
je crée un cahier des charge par une utilisateur A (onglet cahier des charges)
Lorsque l'utilisateur A imprime la feuille automatiquement l'onglet génére un nouveau fichier avec uniquement l'onglet
L'utilisateur B aura alors accès à ce fichier et lorsque l'utilisateur B imprimera le fichier, celui-ci sera transféré dans un dossier archive.

Dans ce cas deux solutions s'offrent à moi :
1° test sur Workbook_BeforePrint pour basculer sur un mode ou un autre en fonction de l'utilisateur
2° Modification du code afin d'interdire ensuite utilisateurA de revenir en arrière sur le fichier.

Enfin pour conclure : est-il possible par macro de modifier directement des macros d'un fichier ?
Si ou, auriez-vous un exemple de vocabulaire à ce sujet ?
 

Orodreth

XLDnaute Impliqué
Re : Peut-on faire modifier le code d'une macro VBA par une macro VBA ?

Re,

Le lien que j'ai inséré est justement fait pour ça: manipuler des contrôles, des userforms, des modules, des macros.

Plus précisément dans la page: Visual Basic Editor

Macro = VBA.

Je n'ai pas encore eu l'occasion de m'essayer à la manipulation directe de code depuis VBA, donc non, je n'ai pas d'autres exemples que ceux fournis dans le lien.

Cordialement,
 

Misange

XLDnaute Barbatruc
Re : Peut-on faire modifier le code d'une macro VBA par une macro VBA ?

Bonjour

Oui on peut modifier une macro par macro (ce qui est très différent d'écrire soi même du code VBA dans l'éditeur).

un exemple pour ajouter par exemple par macro du code dans le module ThisWorkbook
Ce lien n'existe plus

[edit] hello Pierrot :)
[/URL]
 
Dernière édition:

krystof_ii

XLDnaute Occasionnel
Re : Peut-on faire modifier le code d'une macro VBA par une macro VBA ?

Merci à tous (et notamment à Orodeth avec toutes excuses : son lien répond parfaitement à ma demande).

J'ai essayé d'utiliser les codes pour notamment supprimer la macro Worksheet_SelectionChange d'une feuille (Feuil23).
J'ai activé les références à "Microsoft Visual Basic for Applications Extensibility 5.3"

Lorsque j'utilise la macro SupprimerTout, j'ai le message d'erreur suivant :
Erreur d'exécution '1004':
L'accès par programme au projet Visual Basic n'est pas fiable
et la macro se bloque.

...
 

Pierrot93

XLDnaute Barbatruc
Re : Peut-on faire modifier le code d'une macro VBA par une macro VBA ?

Bonjour à tous,

Lorsque j'utilise la macro SupprimerTout, j'ai le message d'erreur suivant :

Erreur d'exécution '1004':
L'accès par programme au projet Visual Basic n'est pas fiable
et la macro se bloque.

sous 2003 => barre de menu => outils => macro => sécurité => onglet "éditeurs approuvés" cocher "faire confiance au projet visual basic"

2007 et 2010 dans les options => centre de gestion de la confidentialité => bouton "paramètres du centre de gestion.... => paramètres des macros => cocher "accès au modèle d'objet du projet vba"

bonne journée
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 249
Messages
2 086 609
Membres
103 260
dernier inscrit
NHOURRA