[Résolu par Efgé] Supprimer le module lors de la sauvegarde

  • Initiateur de la discussion Initiateur de la discussion Lone-wolf
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Lone-wolf

XLDnaute Barbatruc
Bonjour à tous 🙂

avec la macro ci-dessous, je n'arrive pas à supprimer le module lors de la sauvegarde(Enregistrer sous).

Code:
Sub Enrg_Sous()
Dim WbSource, WbDest As Workbook, chemin As String, nom As String
Application.ScreenUpdating = False
Set WbSource = Workbooks("Tableau.xls")
chemin = "C:\Users\" & Environ("username") & "\Desktop\Macro Test\"
With WbSource
.Sheets("Data").Range("a1:i37").AutoFilter Field:=1, Criteria1:=ActiveCell, Operator:=xlAnd
.Sheets("Data").Range("a2:i37").SpecialCells(xlCellTypeVisible).Copy .Sheets("Report").Range("a65536").End(xlUp)(2)
.Sheets("Report").Range("A:I").Columns.AutoFit
.Sheets("Report").Activate
nom = Activesheet.Range("a2")
ActiveWorkbook.SaveAs Filename:=chemin & nom & ".xls", FileFormat:=xlExcel8

Application.DisplayAlerts = False
ActiveWorkbook.Sheets("Data").Delete
'ActiveWorkbook.VBProject.VBComponents.Remove _
ActiveWorkbook.VBProject.VBComponents.Item("Module1")
ActiveWorkbook.Save
Application.Quit
End With
End Sub

Mais, ce qui me surprend le plus, c'est que la feuille "Data" est bien supprimée mais pas le module. J'aimerais y inclure aussi une condition: si le module n'existe pas, ne pas prendre en considération la ligne de suppression.
 
Dernière édition:
Re : Supprimer le module lors de la sauvegarde

Re Efgé,

Voici les deux macros

Code:
Sub Enrg_Sous()
Dim WbSource, WbDest As Workbook, chemin As String
Application.ScreenUpdating = False
Set WbSource = Workbooks("Tableau.xls")
chemin = "C:\Users\" & Environ("username") & "\Desktop\Macro Test\"
With WbSource
    .Sheets("Data").Range("a1:i37").AutoFilter Field:=1, Criteria1:=ActiveCell, Operator:=xlAnd
    .Sheets("Data").Range("a2:i37").SpecialCells(xlCellTypeVisible).Copy .Sheets("Report").Range("a65536").End(xlUp)(2)
    .Sheets("Report").Range("A:I").Columns.AutoFit
    .Sheets("Report").Activate
    ActiveSheet.Copy
    nom = ActiveSheet.Range("a2")
ActiveSheet.SaveAs Filename:=chemin & nom & ".xls", FileFormat:=xlExcel8
 End With
Application.DisplayAlerts = False
ActiveWorkbook.Save
Application.Quit

End Sub

Sub Copier_Suite()
Dim WbDest As Workbook, chemin As String, nom As String
Application.ScreenUpdating = False
chemin = "C:\Users\" & Environ("username") & "\Desktop\Macro Test\"
nom = ActiveCell.Value & ".xls"

With Sheets("Data")
.Range("a1:i37").AutoFilter Field:=1, Criteria1:=ActiveCell, Operator:=xlAnd
Set WbDest = Workbooks.Open(chemin & nom)
.Range("a2:i37").SpecialCells(xlCellTypeVisible).Copy WbDest.Sheets("Report").Range("a65536").End(xlUp)(2)
End With

Application.DisplayAlerts = False
ActiveWorkbook.Save

Application.Quit
End Sub

Qu'est-ce que tu comprend? Pourquoi faire le tri manuellement?? 😕
 
Re : Supprimer le module lors de la sauvegarde

Bonjour Efgé 🙂

Tu as complètement satifait ma demande. bravo.gif
 

Pièces jointes

  • bravo.gif
    bravo.gif
    1.3 KB · Affichages: 25
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
235
Réponses
5
Affichages
476
Réponses
3
Affichages
672
Réponses
2
Affichages
460
Retour