Re-,
Euh, n'en fais pas non plus de ce post une pelote de fils... (Avec des idées à la seconde...)
Ainsi :
Sub Insert_SdP()
Dim Cel As Range, Plg As Range
Dim Lig 'As Long
With Sheets("liste critères saut de page")
Set Plg = .Range("A1").Resize(Application.CountA(.Columns(1))) 'détermine les cellules de l'onglet 2 à balayer
End With
With Sheets("Feuil1")
.ResetAllPageBreaks 'on supprime tous les sauts de page
For Each Cel In Plg 'on balaie
If Not IsError(Application.Match(Cel.Value, .Columns(1), 0)) Then 'Si la valeur existe bien....
Lig = Application.Match(Cel.Value, .Columns(1), 0) + Application.CountIf(.Columns(1), Cel.Value)
'Application.Match donne le numéro de ligne de la valeur
'Application.Countif donne le nombre de ce numéro
'La somme des deux donne le numéro de ligne pour le SdP
.HPageBreaks.Add before:=.Cells(Lig, "K")
.VPageBreaks.Add before:=.Cells(Lig, "K")
Else
On Error Resume Next
Lig = .Columns("A:A").Find(Left(Cel.Value, 8), , , LookAt:=xlPart).Row
If Lig > 0 Then
.HPageBreaks.Add before:=.Cells(Lig, "K")
.VPageBreaks.Add before:=.Cells(Lig, "K")
End If
On Error GoTo 0
End If
Next Cel
End With
End Sub
Bien que je n'aime pas utiliser la solution de facilité "On Error Resume Next"...