Bonjour à tous je viens vers vous car j'ai un petit souci j'ai réalisé ce code pour pouvoir pré-programmer les impressions selon ce que la personne a besoin le problème est qu'une fois sur deux cela fonctionne pouvez-vous m'expliquer si il y a peut-être une autre façon de faire pour réaliser cela je vous mets le classeur en pièce jointe cela se trouve dans le userform6 et le userform7 je vous mets un exemple de code que j'ai réalisé en plus du classeur merci d'avance de votre aide
VB:
Private Sub CommandButton1_Click()
'$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
'Impression artistes tous pays
'$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
ActiveWorkbook.Worksheets("Vue_listes_artistes").Autofilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Vue_listes_artistes").Autofilter.Sort.SortFields.Add2 Key:= _
Range("m3:m45"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Vue_listes_artistes").Autofilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Columns("A:A").Select
Selection.EntireColumn.Hidden = True
Columns("C:C").Select
Selection.EntireColumn.Hidden = True
Columns("F:L").Select
Selection.EntireColumn.Hidden = True
Columns("N:AI").Select
Selection.EntireColumn.Hidden = True
Columns("D:D").ColumnWidth = 20
Columns("E:E").ColumnWidth = 20
Columns("D:D").ColumnWidth = 20
Columns("E:E").ColumnWidth = 20
Unload Me
Feuil5.PrintPreview
ActiveSheet.PageSetup.Orientation = xlPortrait
With ActiveSheet.PageSetup
.Zoom = 120
End With
With Sheets("Vue_listes_artistes").Cells
.EntireColumn.Hidden = False
.EntireRow.Hidden = False
End With
Columns("D:D").ColumnWidth = 30
Columns("E:E").ColumnWidth = 30
End Sub