add after

latanz

XLDnaute Nouveau
Bonjour

voici ma macro, elle insère un saut de page avant chaque "----------------------------------------- ". Comment faire pour insérer les saut de page avant ?

Sub SautDePage()
Dim c As Range
Dim i As Integer

With Feuil1 '

For Each c In .Range("A1:A" & [A65536].End(xlUp).Row)

If c.Value = "-----------------------------------------" Then

.HPageBreaks.Add Before:=c
i = i + 1
If i = 1026 Then Exit Sub

End If
Next

End With

End Sub



****

Merci pour votre aide.
 

job75

XLDnaute Barbatruc
Re : add after

Bonjour latanz, salut mutzik,

Code:
Sub SautDePage()
Dim c As Range, i As Integer

With Feuil1

[COLOR="Red"]'---Supprime tous les sauts de page situés dans une ZONE IMPRIMABLE---
For i = .HPageBreaks.Count To 1 Step -1
.HPageBreaks(i).Delete
Next[/COLOR]

'---Ajoute un saut de page [COLOR="Red"]APRES[/COLOR] la cellule contenant au moins 3 tirets---
For Each c In .Range("A1:A" & [A65536].End(xlUp).Row)
If c Like "---*" Then
.HPageBreaks.Add Before:=[COLOR="Red"]c.Offset(1)[/COLOR]
i = i + 1
If i = 1026 Then Exit Sub [COLOR="Red"]'variante => If .HPageBreaks.Count = 1026 Then Exit Sub[/COLOR]
End If
Next

End With

End Sub

Nota : un saut de page appartient à la collection HPageBreaks seulement s'il est situé dans une zone imprimable (si les cellules dessous ne sont pas toutes vides).

A+
 
Dernière édition:

latanz

XLDnaute Nouveau
Re : add after

je crois que j'ai trouvé :

Sub SautDePage()
Dim c As Range, i As Integer

With Feuil1
On Error Resume Next
For j = ActiveSheet.HPageBreaks.Count To 1 Step -1
ActiveSheet.HPageBreaks(j).Delete
Next j
On Error GoTo 0

'---Ajoute un saut de page APRES la cellule contenant au moins 3 tirets---
For Each c In .Range("A1:A" & [A65536].End(xlUp).Row)
If c Like "---*" Then
.HPageBreaks.Add Before:=c.Offset(1)
i = i + 1
If i = 1026 Then Exit Sub
End If
Next

End With

End Sub
 

job75

XLDnaute Barbatruc
Re : add after

Bonjour latanz,

Vous avez raison, la boucle de suppression bug. J'avais pourtant testé...

Avec les index croissants, il n'y avait pas moyen, et ça semblait fonctionner avec les index décroissants...

Bien sûr vous pouvez mettre On Error Resume Next, mais autant alors ne pas faire de suppression.

Je vais encore chercher et si je trouve, je reviens vers vous.

A+
 

Discussions similaires

Réponses
6
Affichages
227

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 811
dernier inscrit
caroline29260