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