Supprimer macro excel

zoe -  
 ronanry -
Bonjour à tous,
J'ai créé une macro dans un fichier type excel.
A chaque mise à jour des données dans ce fichier type, celui-ci est enregistré sous un autre nom. Mon problème est que la macro s'enregistre aussi. J'aimerai bien pouvoir la supprimer à chaque nouvelle sauvegarde. est-ce possible?

merci d'avance pour votre réponse j'en ai vraiment besoin.
bonne journée

9 réponses

  1. zoe
     
    J'ai trouvé la macro qui suit sur excelabo:

    "Est-il possible depuis VBA d'enregistrer un fichier sous un autre nom (save as) sans les modules de macros qui lui sont éventuellement attachés. Une solution VBA :"

    Sub SaveAsWithoutMacros()
    Dim NomSource$, CheminDest$, NomDest$
    Dim VBC As Object

    NomSource = "EssaiSaveAs.xls" 'à adapter
    CheminDest = "C:WindowsTemp" 'à adapter
    NomDest = "Essai.xls" 'à adapter

    Workbooks(NomSource).SaveAs CheminDest & NomDest

    With ActiveWorkbook.VBProject
    'cette partie du code est de Laurent Longre
    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 'LL
    End With

    Application.Quit
    SendKeys "%O"

    End Sub

    bon mais je n'arrive pas vraiment à l'utiliser, je dois l'intégrer dans un module ou je peux l'insérer dans ma macro worbook_open?
    1
    1. Lupin
       
      Salut,

      Pour utiliser ce code, il vous faudra charger une référence
      supplémentaire dans VBE.

      Sous Excel, appeller l'éditeur :

      Alt F11 //Outils/Références…
      Cocher l'option :
      Microsoft Visual Basic for Applications Extensibility

      Lupin
      0
  2. DaNot Messages postés 221 Statut Membre 163
     
    Salut,

    Dans ce cas, il faut enregistrer la macro dans le "classeur de macros personnelles". Il s'appelle généralement PERSO.XLS.
    Ensuite, la macro ne sera plus attachée à ton fichier sauvegardé...

    DaNot
    un Libre ouvert à la source...
    0
  3. zoe
     
    merci pour ta réponse
    mais à tout hasard il est possble de le faire dans la macro même du fichier?
    0
  4. DaNot Messages postés 221 Statut Membre 163
     
    Oui, ca reste possible : après avoir enregistrer ton fichier avec le nouveau nom, tu ouvres l'éditeur Visual Basic et tu supprimes toutes les macros du fichier dans les feuilles & les modules. Tu enregistres à nouveau et ton fichier ne contient plus de macros...

    DaNot
    un Libre ouvert à la source...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. zoe
     
    ok mais y a t-il un moyen de l'automatiser sous forme de macro
    0
  7. DaNot Messages postés 221 Statut Membre 163
     
    Non, ce n'est pas possible de le faire otomaticamente !

    Pourquoi tu ne veux pas enregistrer les macros ? parce que tu ne veux les diffuser ? Il y a aussi la solution du mot de passe sur le projet VBA !?

    DaNot
    un Libre ouvert à la source...
    0
  8. zoe
     
    dans le fichier renommé il n'y a plus besoin des macros. ce programme permet d'extraire des données d'access et de les mettre en forme sous excel.
    d'ailleurs si quelqu'un lance la macro ça va forcément buggé puisque les noms et les variables ne sont plus les mêmes.
    je voulais obtenir un fichier excel tout plat pour le diffuser par la suite.
    0
  9. ZOE
     
    merci à vous deux pour votre aide mais ça ne veut pas fonctionner, la macro marche très bien, rien ne bug mais la macro existe toujours dans le fichier renommé.
    0
    1. Lupin
       
      Bonjour Zoe,

      Envoie moie un petit courriel, je t'enverrai un petit exemple.
      lupin_pc4 arobas yahoo dot ca.

      lupin
      0
  10. ronanry
     
    autre chose qui n'est pas précisé (mais que tu trouve facilement si tu regarde l'aide d'excel lorsque le bug arrive)
    il faire tools\macro\security
    dans la fenetre qui s'ouvre; selectionner le deuxieme onglet
    et cocher la case "trust access to visual basic project" (désolé au taff j'ai que la version english d'excel....)
    0