bonjour le forum
Je tourne en rond avec cette errreur ; le debug s'affiche sur la ligne rouge et je trouve pas, le plus curieux c'est que la macro a fonctionné une fois ... aurais-je rajouté quelque chose qu'il ne fallait pas ?
(mon niveau en VBA est basique, l'enregistreur et le forum m'ont permis de produire ce qui suit).
Merci pour vos retours
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 Sub Miseenforme() ' Touche de raccourci du clavier: Ctrl+e Dim LastLig As Long Dim i As Long Dim appExcel As Excel.Application Dim wbExcel As Excel.Workbook Application.ScreenUpdating = False 'Workbooks("export.xls").Close SaveChanges:=False 'Application.Quit 'Set wbExcel = Nothing 'Set appExcel = Nothing With Sheets("suivi").PageSetup 'forme paysage et répétition en-tête .PrintTitleRows = "$1:$1" .Orientation = xlLandscape ActiveWindow.View = xlPageBreakPreview 'apercu des sauts de pages ActiveSheet.VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1 'déplacement vertical à droiteColumns("I:I").ColumnWidth = 9.43 End With With Cells.Select 'sélection de toutes les cellules et tri colonne A ordre croissant Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal End With With Sheets("suivi") 'boucle avec insertion de saut de page horizontal LastLig = .Cells(.Rows.Count, "A").End(xlUp).Row For i = LastLig To 2 Step -1 If Left(Range("A" & i).Value, 2) <> Left(Range("A" & i + 1).Value, 2) Then ActiveSheet.HPageBreaks.Add Before:=Range("A" & (i + 1)) End If Next i End With ActiveSheet.PrintOut 'imprimer les pages de la feuille sur imprimante active Application.ScreenUpdating = True 'Workbooks("SUIVIM.xls").Close SaveChanges:=False 'Application.Quit 'Set wbExcel = Nothing 'Set appExcel = Nothing End Sub![]()
Partager