Macro saut page après avoir trouvé caractère

Mr Funky

XLDnaute Nouveau
[Résolu] Macro saut page après avoir trouvé caractère

Bonjour à tous,

J'aimerai créer une macro qui me permet de créér un saut de page.

Je rentre dans le détail:

Une fois qu'on trouve la cellule comprenant l'expression " Page n° ", on crée un saut de page juste en dessous de cette cellule.

J'ai pensé a une macro du genre :

Sub test()
Dim X As Long
For X = ActiveSheet.HPageBreaks.Count To 1 Step -1
ActiveSheet.HPageBreaks(X).Delete
Next X
For X = 1 To Range("A65536").End(xlDown).Row
If Range("Page" & X) <> "" Then _
ActiveSheet.HPageBreaks.Add Before:=Range("Page" & X)
Next X
End Sub


Mais sans succès ...

Quelqu'un a t-il une solution ?
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Macro saut page après avoir trouvé caractère

Bonjour Mr Funky, bonjour le forum,

peut-être comme ça :
Code:
Sub test()
Dim cel As Range 'déclare la variable cel
 
ActiveSheet.ResetAllPageBreaks 'rétablit tous les sauts de page
'boucle sur toutes les cellules éditées de la colonne A
For Each cel In Range("A1:A" & Range("A65536").End(xlUp).Row)
'si les quatres premières lettres de la cellule sont "Page",
'place un saut de page dans la cellule en dessous
If Left(cel.Value, 4) = "Page" Then ActiveSheet.HPageBreaks.Add Before:=cel.Offset(1, 0)
Next cel 'prochaine cellule de la oucle
End Sub
 

pierrejean

XLDnaute Barbatruc
Re : Macro saut page après avoir trouvé caractère

bonjour Mr Funky

Salut Robert :) :)

une autre version

Code:
Set c = ActiveSheet.Columns(1).Find("Page N°", LookIn:=xlValues, lookat:=xlPart)
If Not c Is Nothing Then
  firstAddress = c.Address
   Do
     ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=c.Offset(1, 0)
     Set c = ActiveSheet.Columns(1).FindNext(c)
   Loop While Not c Is Nothing And c.Address <> firstAddress
End If
 

syl51100

XLDnaute Nouveau
Re : Macro saut page après avoir trouvé caractère

Bonjour le forum et un grand merci a Robert qui m'a sorti un poteau du pied juste avec la ligne "ActiveSheet.ResetAllPageBreaks 'rétablit tous les sauts de page" car je cherchai un moyen de reinitialiser mes sauts de page. un grand merci au forum et à Robert
 

Discussions similaires

Réponses
2
Affichages
172
Réponses
17
Affichages
908

Statistiques des forums

Discussions
312 412
Messages
2 088 196
Membres
103 763
dernier inscrit
p.michaux