Simplification de macro

Fermé
scelera Messages postés 39 Date d'inscription lundi 10 juin 2013 Statut Membre Dernière intervention 3 décembre 2021 - 27 sept. 2013 à 10:08
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 - 28 sept. 2013 à 20:41
Bonjour,
Voici une macro que je vien d'éditer, serait'il possible de simplifier le code selon vous ?

Sub Macro1()
'
' Macro1 Macro
'
' Touche de raccourci du clavier: Ctrl+r
'
Sheets("Feuil2").Select
Cells.Select
Selection.Delete Shift:=xlUp
Sheets("Feuil1").Select
Columns("G:G").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Columns("A:A").Select
ActiveSheet.Paste
Columns("A:A").EntireColumn.AutoFit
Sheets("Feuil1").Select
Columns("H:H").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Columns("B:B").Select
ActiveSheet.Paste
Columns("B:B").EntireColumn.AutoFit
Sheets("Feuil1").Select
Columns("I:I").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Columns("C:C").Select
ActiveSheet.Paste
Sheets("Feuil1").Select
Columns("J:J").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Columns("D:D").Select
ActiveSheet.Paste
Columns("D:D").EntireColumn.AutoFit
Sheets("Feuil1").Select
Columns("O:O").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Columns("E:E").Select
ActiveSheet.Paste
Sheets("Feuil1").Select
ActiveWindow.SmallScroll ToRight:=18
Columns("AK:AK").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Columns("F:F").Select
ActiveSheet.Paste
Columns("F:F").EntireColumn.AutoFit
Sheets("Feuil1").Select
Columns("AL:AL").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Columns("G:G").Select
ActiveSheet.Paste
Columns("G:G").EntireColumn.AutoFit
Sheets("Feuil1").Select
ActiveWindow.LargeScroll ToRight:=-1
Columns("AH:AH").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Columns("H:H").Select
ActiveSheet.Paste
Sheets("Feuil1").Select
ActiveWindow.LargeScroll ToRight:=1
Columns("AG:AG").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Columns("I:I").Select
ActiveSheet.Paste
Sheets("Feuil1").Select
Columns("K:K").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil2").Select
Columns("J:J").Select
ActiveSheet.Paste
Sheets("Feuil2").Select
Range("A1:J1").Select
Range("J1").Activate
Application.CutCopyMode = False
Selection.AutoFilter
ActiveWindow.View = xlPageLayoutView
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = "&""Arial,Gras""&20&UExtrait de nos références"
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.25)
.RightMargin = Application.InchesToPoints(0.25)
.TopMargin = Application.InchesToPoints(0.75)
.BottomMargin = Application.InchesToPoints(0.75)
.HeaderMargin = Application.InchesToPoints(0.3)
.FooterMargin = Application.InchesToPoints(0.3)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 57
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
.EvenPage.LeftHeader.Text = ""
.EvenPage.CenterHeader.Text = ""
.EvenPage.RightHeader.Text = ""
.EvenPage.LeftFooter.Text = ""
.EvenPage.CenterFooter.Text = ""
.EvenPage.RightFooter.Text = ""
.FirstPage.LeftHeader.Text = ""
.FirstPage.CenterHeader.Text = ""
.FirstPage.RightHeader.Text = ""
.FirstPage.LeftFooter.Text = ""
.FirstPage.CenterFooter.Text = ""
.FirstPage.RightFooter.Text = ""
End With
ActiveSheet.PageSetup.RightHeaderPicture.Filename = "M:\Serv. Commercial\Marketing TL\Logos TL\TL-Syst_logo 1_2.png"
ActiveSheet.PageSetup.RightHeader = "&G"
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = "&""Arial,Gras""&20&UExtrait de nos références"
.RightHeader = "&G"
.LeftFooter = ""
.CenterFooter = _
"41 rue Albert Einstein"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.25)
.RightMargin = Application.InchesToPoints(0.25)
.TopMargin = Application.InchesToPoints(0.75)
.BottomMargin = Application.InchesToPoints(0.75)
.HeaderMargin = Application.InchesToPoints(0.3)
.FooterMargin = Application.InchesToPoints(0.3)
.Zoom = 57
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
.EvenPage.LeftHeader.Text = ""
.EvenPage.CenterHeader.Text = ""
.EvenPage.RightHeader.Text = ""
.EvenPage.LeftFooter.Text = ""
.EvenPage.CenterFooter.Text = ""
.EvenPage.RightFooter.Text = ""
.FirstPage.LeftHeader.Text = ""
.FirstPage.CenterHeader.Text = ""
.FirstPage.RightHeader.Text = ""
.FirstPage.LeftFooter.Text = ""
.FirstPage.CenterFooter.Text = ""
.FirstPage.RightFooter.Text = ""
End With
Application.PrintCommunication = True
End Sub
A voir également:

2 réponses

Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
27 sept. 2013 à 10:23
Bonjour,

Oui, mais est-ce bien utile ?
Du code ne servant à rien a été généré.
On pourrait faire une macro séparée pour la copie de colonne prenant comme arguments la source et la destination et y faire appel.
Pour la mise en page, là où tu n'as rien changé à la config d'origine, je pense que les lignes peuvent être supprimées.

A+
0
Bonjour

deja pour copier les colonnes on le fait en une seul fois
ex:
Sub Macro2()
Feuil2.Range("B:B,C:C,E:E,H:H,J:J,K:K,M:M").Copy
Feuil3.Range("B1").PasteSpecial xlPasteAll
Application.CutCopyMode = False
End Sub

A+
Maurice
0
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
28 sept. 2013 à 20:41
Bien vu !
0