Exporter une worksheet particulière contenu dans un workbook avec ses macro
Bonjour à tous ,
Je possède un fichier qui regroupe certains utilitaires VBA dont je me sers quotidiennement. Ce fichier est lourd et j'aimerais exporter la feuille (l'utilitaire) dont j'ai besoin dans un nouveau classeur excel pour accélérer son utilisation.
Comme indiqué dans le titre, j'aimerais donc créer une macro qui exporte une worksheet particulière (l'onglet menu me permet de choisir la feuille à exporter) avec l'ensemble de ses macros associées. Les macros sont stockées dans un unique module.
Les macros que j'ai trouvées en ligne me permettent bien de créer un nouveau classeur excel (xlsm) avec la bonne feuille mais les macros ne sont pas fonctionnelles.
ci joint un petit fichier qui explique le problème.
Je suis preneur de vos idées et potentielles solutions
Bonne journée,
Maverick
Bonjour Maverick39
Quand je vois le code lié à des feuilles, dans un module... ce n'est pas comme ça qu'on procède
Mets chaque code dans la bonne feuille, ainsi tu pourras exporter la feuille avec son code,
de plis le code est à corriger, les "Select" sont franchement à éviter
Sub Feuille1()
With Range("A1:E11")
With .Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
With .Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With .Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With .Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With .Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
Range("B4").FormulaLocal = "macro feuille 1"
End Sub
Sub ResetFeuille1()
Range("S1").Copy
Columns("A:E").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("B4").ClearContents
Range("A1").Select
End SubA+
Salut,
De plus dans l'environnement VBE tu fais un clic droit sur la feuille à exporter, et tu sélectionnes exporter un fichier. Comme l'a si bien dis Bruno, si tu mets le code dans le module de la feuille, ta feuille sera exportée avec son code.
Columns("A:B").Select
Selection.ClearContents
Range("A1").SelectNe pas oublier non plus que ce genre de code s'applique à la feuille active du classeur actif. Si plusieurs classeurs sont ouvert le résultat peut être inattendu.