Pagination avec macro et filtre automatique

  • Initiateur de la discussion Initiateur de la discussion jeanlouis
  • 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 !

J

jeanlouis

Guest
Bonjour

J'ai modifier une macro qui vient mettre des sauts de page selon des critères (Colonne B et C):

i = 4
While Range("C" + CStr(i)).Value <> ""
Range("B" + CStr(i)).Select
If Range("B" + CStr(i)).Value <> Range("B" + CStr(i - 1)).Value Then
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
Else
Range("C" + CStr(i)).Select
If Range("C" + CStr(i)).Value <> Range("C" + CStr(i - 1)).Value Then
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
End If

End If

i = i + 1
Wend

End Sub

Cela fonctionne très bien mais quand je filtre sur un autre critère (colonne J), des pages blanches apparaissent

(par exemple si je filtre sur date >= 11.05.2012)

Y a t'il une parade à ce phénomène ?

D'avance merci
 

Pièces jointes

Re : Pagination avec macro et filtre automatique

Hello,

Alors, en premier lieu une petite modif de ton code pour le rendre moins "lourd" et surtout éviter les Select.
Code:
Sub Test_sautdepage()
Dim i&


For i = 3 To Range("A65536").End(xlUp).Row
    If Range("B" + CStr(i)).Value <> Range("B" + CStr(i - 1)).Value Or _
        Range("C" + CStr(i)).Value <> Range("C" + CStr(i - 1)).Value Then
            ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Range("A" + CStr(i))
    End If
Next i
End Sub

Pour ta question concernant les pages blanches à l'impression, mis à part passer par un filtre avancé et donc copier ta sélection sur un autre onglet pour l'imprimer, je ne vois pas trop...

@+
 
Re : Pagination avec macro et filtre automatique

merci

je ne suis pas sûr de bien comprendre "To Range("A65536").End(xlUp).Row" mais j'imagine que cela renvoie la valeur maximale de i (ce qui équivaut au tant que pas vide :" While Range("C" + CStr(i)).Value <> "" ")

Bref, je teste ça bientôt et si le filtre avancé fonctionne, je promets de ne pas manger de cochon pendant 1 semaine 😉
 
Re : Pagination avec macro et filtre automatique

la macro fonctionne parfaitement sur le document non filtré mais la solution du filtre élaboré n'est possible que sur la feuille active.
donc je peux envoyer le résultat de mon filtre sur le côté puis je dois copier ce résultat sur une autre feuille pour exécuter la pagination et enfin imprimer sans page blanche.

Cela reste un peu lourd, et je pense macroter cela à ma sauce...

je donnerai ma solution dès que mes testes seront concluants.
 
- 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
7
Affichages
176
Réponses
5
Affichages
910
Réponses
8
Affichages
390
Réponses
2
Affichages
527
Réponses
15
Affichages
784
Réponses
8
Affichages
780
Réponses
5
Affichages
418
Retour