simplification d'un code VBA

  • Initiateur de la discussion Initiateur de la discussion latanz
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

latanz

Guest
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 !!!
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
925
Réponses
1
Affichages
326
Réponses
2
Affichages
528
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
7
Affichages
485
Retour