Saut de page automatique [Fermé]

Signaler
Messages postés
5
Date d'inscription
samedi 11 juin 2011
Statut
Membre
Dernière intervention
12 décembre 2013
-
 noxfsy -
Bonjour a tous,

J'ai fais de nombreuse recherche sur le net et je ne trouve pas clairement comment réaliser des sauts de page automatique en fonction d'un tableau avec visual basic.

J'ai trouvé des breves pour supprimer les sauts de pages et les ajouter:

Sub sdpauto()
With ActiveSheet
'supprime tous les sauts de pages
On Error Resume Next
Forx=.HPageBreaks.Count step-1
.HPageBreaks(X).Delete
Next
.HPageBreaks(X).Delete
Next
On Error GoTo o
'ajoute un saut de page quand la valeur de la 1ere colonne change.
c = 3
Do While Not IsEmpty(Cells(c, 1).Value)
If Cells(c - 1, 1).Value <> _
Cells(c, 1).Value Then
.HPageBreaks.Add
before = Cells(c, 3)
End If
c = c + 1
Loop
End With
End Sub

CETTE SI NE FONCTIONNE PAS

Moi je cherche pour mettre des sauts de page automatique des le changement de valeur texte dans une colonne C a partir de la ligne numéro 2.

Pouvez-vous m'aider a réaliser cette macro, mais surtout comprendre comment a la réaliser pour changer la colonne et le depart?

Merci d'avance pour tout



5 réponses

Messages postés
15416
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
12 novembre 2020
1 394
Bonjour,

Sub sdpauto()
    On Error Resume Next
    With ActiveSheet
        'supprime tous les sauts de pages
        For x = .HPageBreaks.Count To 0 Step -1
            .HPageBreaks(x).Delete
        Next
        On Error GoTo 0
        'ajoute un saut de page quand la valeur de la 1ere colonne change.
        c = 3
        Do While Not IsEmpty(Cells(c, 1).Value)
            If Cells(c - 1, 1).Value <> Cells(c, 1).Value Then
                .HPageBreaks.Add <gras>Before:=Cells(c, 3)</gras>
            End If
            c = c + 1
        Loop
    End With
End Sub
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
15416
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
12 novembre 2020
1 394
Re,

Dans votre code le test de changement est sur la colonne 1 Cells(c - 1, 1).Value <> Cells(c, 1).Value pas la 3. Changez le test et cela devrait aller
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
5
Date d'inscription
samedi 11 juin 2011
Statut
Membre
Dernière intervention
12 décembre 2013

salut et merci pour ta reponse,
cela fonctionne cependant
il met les sauts de pages par rapport a la colonne numéro 1
malgres le Before:=Cells(c, 3)

merci d'avance de ton aide
Merci je vais tester demain.
A+
Bonjour,
merci pour info cela fonctionne j'ai changé
If Cells(c - 1, 1).Value <> Cells(c, 1).Value Then
par
If Cells(c - 1, 3).Value <> Cells(c, 3).Value Then

Par contre pour mieux comprendre le VBA:

pour changer de colonne je dois changer
If Cells(c - 1, 3).Value <> Cells(c, 3).Value Then

et pour changer le debut a la ligne 2 par exemple je dois changer:
c = c + 1 par c = c + 2
ou
If Cells(c - 2, 1)


merci pour tout au top