Problème de suppression de macro excel

Résolu
Utilisateur anonyme -  
 Midou -
Bonjour, quand j'ouvre un fichier excel, il m'affiche la fenêtre d'activation ou désactivation des macros. Je ne veux plus qu'il m'affiche cette fenêtre, donc je fait : "activer macro" ou "desactiver macro" c'est pareil, puis outils, macros, il m'affiche la fenêtre "macro", mais il n'y a rien à l'intérieur ce qui fait que je ne peux supprimer aucune macro. Je referme tout, et quand je ré-ouvre mon fichier c'est pareil il me ré-affiche la fenêtre "activer macro" ou "desactiver macro" !!! Quelqu'un peut-il m'aider ?
merci
A voir également:

16 réponses

Résumé de la discussion

L'ouverture d'un fichier Excel déclenche systématiquement une fenêtre d'activation des macros et empêche la suppression des macros, car le code peut être présent dans des modules Visual Basic qui génèrent le message. La solution principale consiste à ouvrir l'éditeur Visual Basic (ALT+F11) et supprimer les modules actifs dans le Projet, en particulier les Modules nommés Module1, Module2, puis enregistrer le fichier. En cas d'absence apparente de modules, il faut aussi vérifier les procédures dans les feuilles ou ThisWorkbook et effacer tout code, puis ajuster temporairement le niveau de sécurité des macros pour éviter les prompts indésirables.

Généré automatiquement par IA
sur la base des meilleures réponses
François
 
J'ai trouvé la solution !

Enfin pour moi :)

Il arrive que la suppression d'une macro via Outils/macro/macro efface la macro mais pas le module Visual Basic. C'est le module, même vide, qui déclenche le message...Donc allez dans Outils/macro/Visual Basic editor et regarder dans la liste des fichiers VBA : trouver le fichier module et le supprimer (souris bouton de droite), fermer et sauvegarder le fichier et voilà !

Bonne chance !!!!
38
trouch Messages postés 32 Date d'inscription   Statut Membre 2
 
Bonjour,

SUPPRIME TES MACROS DE TES CLASSEURS LOSRQU'ils sont calculés.

Déclaration
Private Declare Function GetForegroundWindow Lib "User32" () As Long

Private Declare Function SetForegroundWindow Lib "User32" _
(ByVal hWnd As Long) As Long

Code

'PROCEDURE DE SUPPRESSION DE LA MACRO
Range("A1").Select
CurhWnd = GetForegroundWindow
Dim VBC As Object
With ActiveWorkbook.VBProject
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC
End With
SetForegroundWindow CurhWnd

@+
0
guénael
 
Merci François, j'avais ce problème depuis quelques temps et grace à toi je suis sauvé.
Merci pout ton astuce
0