Macros et modules VBA Excel 2007

yumat -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à toutes et à tous,

J'ai utilisé l'enregistreur de macros pour un travail.
Cette macro apparait dans la liste des enregistrées et dans un module.
Je souhaiterais l'éliminer dans la liste des enregistrées pour ne la conserver que dans le module. Comment faire???
A l'avance merci
A voir également:

7 réponses

pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 765
 
Bonjour,

Qu'appelles-tu "liste des enregistrées"?
Comment y accèdes tu, à cette liste?
0
yumat
 
En étant sur Développeur, on peut enregistrer une macro en cliquant sur "Enregistrer une macro"
en haut à gauche de l'écran. On fait une manip puis "Arreter l'enregistrement"
A partir de là si on sollicite "Macro" toujours en haut a gauche, on a notre macro qui est dans cette liste.
Malheureusement elle se trouve également dans un module et je ne sais pas l'effacer dans la liste.
Merci de t'intéresser à mon pb
0
Alexis13013 Messages postés 6 Statut Membre
 
bonjour, pour supprimer une macro, tu peux:

soit dans l'onglet "afficher les macros", tu sélectionnes ta macro et tu cliques sur le moins

soit dans l'onglet "afficher les macros", tu sélectionnes ta macro et tu cliques sur modifier. par la suite tu supprimes l'ensemble de tes lignes de code

normalement ça devrait fonctionner
0
Yumat
 
BdD Alexis
Merci pour ta réponse mais quant est il de la même macro dans un module? Elle disparaît aussi?
Supprimer une macro je sais faire mais mon pb c'est qu'elle est supprimée dans la liste des macros et dans le module. Et c'est ce que je cherche à éviter
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 765
 
Bonjour,

Pour "supprimer" une macro de la liste des macros (que l'on peut également appeler par ALT+F8), tout en la conservant "bien au chaud" dans un module, il y a plusieurs méthodes.
Prenons un exemple.
J'ai créé cette macro :
Sub Miaule()
    MsgBox "Miaou"
End Sub

Celle-ci apparaît dans ma liste des macros...

--------------- Méthode 1 ---------------
Pour la faire disparaître, utilise le mot clé Private :
Private Sub Miaule()
    MsgBox "Miaou"
End Sub

Ta macro ne sera plus accessible QUE depuis son propre module!

--------------- Méthode 2 ---------------
Lui passer un argument Optionel :
Sub Miaule(Optional Chat As Boolean = True)
    MsgBox "Miaou"
End Sub

Ta macro reste accessible dans tous les modules, mais plus depuis le classeur...
0
yumat
 
Merci pour tes explications pijaku
j'ai passé mes macros dans les modules en optionnal et du coup, elles n'apparaissent plus dans la liste
Pb réglé merci à tous
0
Yumat
 
Bar pijaku
La méthode 1 m'a posé qq pb car comme tu le précises on ne peut passer d'un module à l'autre.
Je vais donc tester la méthode 2
Merci à toi et je te tiens au courant
Bonne soirée
Mais que faut il comprendre par "chat" après optional? Comme il s'agit d'un miaou, ça m'interpelle un peu
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 765
 
Bonjour,

"chat" ne veux rien dire.
Il s'agit juste d'une variable.

Autre exemple :
Sub Macro1(Optional MaVariable As Boolean = False)
  MsgBox "Hello world"
End Sub


L'astuce est juste de passer une variable inutile. On la passe en optional, comme ça, dans la procédure d'appel, on n'est pas obligé de la transmettre.
0