Bonjour, je débute dans les macros excel mon code est assez approximatif mais je me debrouille pour faire ce que je veux.

Je vous explique ce que je recherche a faire:
je souhaiterais à terme insérer des sauts de pages à des endroits spécifique de ma feuille excel. Il doivents s'inserer après une serie qui fait au maximum 40 lignes. Il doit calculer pour que la plage ne soit pas coupé ( donc ne pas dépasser 40 lignes ) mais mettre le plus possible de plages.
Je pense que je vous ait perdu. Je vous montre mon code, je n'est pour l'instant mis que le test la macro n'insere pas de saut de page je mettrai la fonction après :

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
Dim tab1(40, 2) As Single, tab2(200) As Single, max As Integer, col As Integer, lig As Integer, test As Integer
 
Rows("7:7").Select
    Selection.Insert Shift:=xlDown
    Range("i6").Select
Do Until ActiveCell = ""
Erase tab1
y = y + 1
x = 39
actcellrow = ActiveCell.Row
actcellcol = ActiveCell.Column
Cells(actcellrow, actcellcol).Select
max = 0
Do
ActiveCell.Offset(0, 1).Select
    Selection.End(xlDown).Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, -1).Select
    max = max + 1
Loop Until ActiveCell.Address = Cells(181, 9).Address
MsgBox (max)
If max < 39 Then x = max - 1
MsgBox (x)
Cells(actcellrow, actcellcol).Select
For i = 0 To x
ActiveCell.Offset(0, 1).Select
    Selection.End(xlDown).Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, -1).Select
    tab1(i, 0) = ActiveCell.Value
    tab1(i, 1) = ActiveCell.Row
    tab1(i, 2) = ActiveCell.Column
 
    Next
    If tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) + tab1(23, 0) + tab1(24, 0) + tab1(25, 0) + tab1(26, 0) + tab1(27, 0) + tab1(28, 0) + tab1(29, 0) + tab1(30, 0) + tab1(31, 0) + tab1(32, 0) + tab1(33, 0) + tab1(34, 0) + tab1(35, 0) + tab1(36, 0) + tab1(37, 0) + tab1(38, 0) + tab1(39, 0) < 40 Then
    col = tab1(39, 1) - 1
    Cells(col, 9).Select
    ActiveCell.Offset(0, 1).Select
    Selection.End(xlLeft).Select
    tab2(y) = ActiveCell.Value
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) + tab1(23, 0) + tab1(24, 0) + tab1(25, 0) + tab1(26, 0) + tab1(27, 0) + tab1(28, 0) + tab1(29, 0) + tab1(30, 0) + tab1(31, 0) + tab1(32, 0) + tab1(33, 0) + tab1(34, 0) + tab1(35, 0) + tab1(36, 0) + tab1(37, 0) + tab1(38, 0) < 40 Then
    col = tab1(38, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) + tab1(23, 0) + tab1(24, 0) + tab1(25, 0) + tab1(26, 0) + tab1(27, 0) + tab1(28, 0) + tab1(29, 0) + tab1(30, 0) + tab1(31, 0) + tab1(32, 0) + tab1(33, 0) + tab1(34, 0) + tab1(35, 0) + tab1(36, 0) + tab1(37, 0) < 40 Then
    col = tab1(37, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) + tab1(23, 0) + tab1(24, 0) + tab1(25, 0) + tab1(26, 0) + tab1(27, 0) + tab1(28, 0) + tab1(29, 0) + tab1(30, 0) + tab1(31, 0) + tab1(32, 0) + tab1(33, 0) + tab1(34, 0) + tab1(35, 0) + tab1(36, 0) < 40 Then
    col = tab1(36, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) + tab1(23, 0) + tab1(24, 0) + tab1(25, 0) + tab1(26, 0) + tab1(27, 0) + tab1(28, 0) + tab1(29, 0) + tab1(30, 0) + tab1(31, 0) + tab1(32, 0) + tab1(33, 0) + tab1(34, 0) + tab1(35, 0) < 40 Then
    col = tab1(35, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) + tab1(23, 0) + tab1(24, 0) + tab1(25, 0) + tab1(26, 0) + tab1(27, 0) + tab1(28, 0) + tab1(29, 0) + tab1(30, 0) + tab1(31, 0) + tab1(32, 0) + tab1(33, 0) + tab1(34, 0) < 40 Then
    col = tab1(34, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) + tab1(23, 0) + tab1(24, 0) + tab1(25, 0) + tab1(26, 0) + tab1(27, 0) + tab1(28, 0) + tab1(29, 0) + tab1(30, 0) + tab1(31, 0) + tab1(32, 0) + tab1(33, 0) < 40 Then
    col = tab1(33, 1) - 1
    Cells(col, 9).Select
ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) + tab1(23, 0) + tab1(24, 0) + tab1(25, 0) + tab1(26, 0) + tab1(27, 0) + tab1(28, 0) + tab1(29, 0) + tab1(30, 0) + tab1(31, 0) + tab1(32, 0) < 40 Then
   col = tab1(32, 1) - 1
    Cells(col, 9).Select
ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) + tab1(23, 0) + tab1(24, 0) + tab1(25, 0) + tab1(26, 0) + tab1(27, 0) + tab1(28, 0) + tab1(29, 0) + tab1(30, 0) + tab1(31, 0) < 40 Then
     col = tab1(31, 1) - 1
    Cells(col, 9).Select
ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) + tab1(23, 0) + tab1(24, 0) + tab1(25, 0) + tab1(26, 0) + tab1(27, 0) + tab1(28, 0) + tab1(29, 0) + tab1(30, 0) < 40 Then
    col = tab1(30, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) + tab1(23, 0) + tab1(24, 0) + tab1(25, 0) + tab1(26, 0) + tab1(27, 0) + tab1(28, 0) + tab1(29, 0) < 40 Then
    col = tab1(29, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) + tab1(23, 0) + tab1(24, 0) + tab1(25, 0) + tab1(26, 0) + tab1(27, 0) + tab1(28, 0) < 40 Then
    col = tab1(28, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) + tab1(23, 0) + tab1(24, 0) + tab1(25, 0) + tab1(26, 0) + tab1(27, 0) < 40 Then
    col = tab1(27, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) + tab1(23, 0) + tab1(24, 0) + tab1(25, 0) + tab1(26, 0) < 40 Then
    col = tab1(26, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) + tab1(23, 0) + tab1(24, 0) + tab1(25, 0) < 40 Then
    col = tab1(25, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) + tab1(23, 0) + tab1(24, 0) < 40 Then
    col = tab1(24, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) + tab1(23, 0) < 40 Then
    col = tab1(23, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) + tab1(22, 0) < 40 Then
    col = tab1(22, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) + tab1(21, 0) < 40 Then
    col = tab1(21, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) + tab1(20, 0) < 40 Then
    col = tab1(20, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) + tab1(19, 0) < 40 Then
    col = tab1(19, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) + tab1(18, 0) < 40 Then
    col = tab1(18, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) + tab1(17, 0) < 40 Then
    col = tab1(17, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) + tab1(16, 0) < 40 Then
    col = tab1(16, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) + tab1(15, 0) < 40 Then
    col = tab1(15, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) + tab1(14, 0) < 40 Then
    col = tab1(14, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) + tab1(13, 0) < 40 Then
    col = tab1(13, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) + tab1(12, 0) < 40 Then
    col = tab1(12, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) + tab1(11, 0) < 40 Then
    col = tab1(11, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) + tab1(10, 0) < 40 Then
    col = tab1(10, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) + tab1(9, 0) < 40 Then
    col = tab1(9, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) + tab1(8, 0) < 40 Then
    col = tab1(8, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) + tab1(7, 0) < 40 Then
    col = tab1(7, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) + tab1(6, 0) < 40 Then
    col = tab1(6, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) + tab1(5, 0) < 40 Then
    col = tab1(5, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) + tab1(4, 0) < 40 Then
    col = tab1(4, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) + tab1(3, 0) < 40 Then
    col = tab1(3, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) + tab1(2, 0) < 40 Then
    col = tab1(2, 1) - 1
    Cells(col, 9).Select
    ElseIf tab1(0, 0) + tab1(1, 0) < 40 Then
    col = tab1(1, 1) - 1
    End If
    col = tab1(0, 1)
    Cells(col, 9).Select
    Loop
    End Sub
Si vous voulez un exemple de fichier excel je vous le donnerais.
Ma macro se base sur un fichier ou des sous totaux on déja été fait et se base uniquement sur les sous totaux en question.
Voila sauf que actuellement ma macro, ne donne pas le résultat que je veux par exemple si mes 4 première plage font moin de 40 lignes il doit inserer un saut de page . Sauf que la macro va jusqu'en bas du test et ne s'arrête pas sur le test validé .