Macros et modules VBA Excel 2007

Fermé
yumat - 10 juin 2020 à 15:03
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 15 juin 2020 à 08:24
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
10 juin 2020 à 16:13
Bonjour,

Qu'appelles-tu "liste des enregistrées"?
Comment y accèdes tu, à cette liste?
0
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 Date d'inscription mercredi 10 juin 2020 Statut Membre Dernière intervention 11 juin 2020
10 juin 2020 à 17:38
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
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
11 juin 2020 à 08:59
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
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
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
Modifié le 15 juin 2020 à 08:24
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