simplification d'un code VBA

latanz

XLDnaute Nouveau
Bonjour à tous,

j'ai une macro qui me place des sauts de page automatique avant toutes les ligne (que la colonne A remplie) qui sont égale à la ligne 9.
Pouvez-vous m'aider à simplifier le code et à mettre un saut de page après à chaque fois que le contenu de la cellule contient le mot : fax ?

voici mon code :

Sub SautsPage()
ActiveSheet.ResetAllPageBreaks
Ligne = 9
Classe = Cells(Ligne, 1).Value
ZR = Classe
Do
If ZR = Classe Then
Cells(Ligne, 1).Activate
ActiveWindow.SelectedSheets.HPageBreaks.Add before:=ActiveCell
ZR = Classe
End If
Ligne = Ligne + 1
Classe = Cells(Ligne, 1).Value
Loop Until Classe = ""
End Sub

Merci bcp pour votre aide !!!
 

MJ13

XLDnaute Barbatruc
Re : simplification d'un code VBA

Re

Avec l'enregistreur, cela donne ce code:

Code:
  ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell

Mais tu ne sais peut-être pas l'utiliser? fait une recherche sur le net.
 

soenda

XLDnaute Accro
Re : simplification d'un code VBA

Bonjour le fil, mj13, latanz

Je n'ai pas réussi à placer des sauts de page avec l'enregistreur de macro ... Excel 2007 ?

Code:
Sub SautDePageApres_fax()
    Dim c As Range
    Dim i As Integer
 
    With Feuil1 [B][COLOR=green]' à adapter[/COLOR][/B]
 
        For Each c In .Range("A1:A" & [A65536].End(xlUp).Row)
 
            If c.Value = "fax" Then
 
                .HPageBreaks.Add c.Offset(1)
 
                [B][COLOR=green]' Une feuille ne peut pas contenir plus de 1 026 sauts de page horizontaux Excel 2007[/COLOR][/B]
                i = i + 1
                If i = 1026 Then Exit Sub
 
            End If
        Next
 
    End With
 
End Sub
A plus
 

soenda

XLDnaute Accro
Re : simplification d'un code VBA

Re,

serait-il possible d'avoir seulement un saut de page après, et non pas avant et après
Si les cellules A5 et A6 contiennent le mot "fax",
un saut de page sera ajouté après A5 et après A6 (après A5 = avant A6)

si tu veux un seul saut de page après A6 (mais pas après A5 car A6 contient aussi le mot "fax"), modifie le code comme suit
Code:
If c.Value = "fax" [COLOR=red][B]And c.Offset(1) <> "fax"[/B][/COLOR] Then
A plus
 

Discussions similaires

Réponses
2
Affichages
475

Statistiques des forums

Discussions
311 720
Messages
2 081 900
Membres
101 834
dernier inscrit
Jeremy06510