Dans cet article, nous allons créer une macro pour insérer des sauts de page, en fonction d’une certaine condition.

Les données brutes se composent de données d’agent, qui incluent le nom de l’agent, le nom du client, le numéro de téléphone et l’ID de messagerie.

ArrowRawData

Nous voulons les données d’un agent particulier sur des pages séparées lors de l’impression. Nous souhaitons donc insérer un saut de page à la fin des données de chaque agent.

ArrowOutput

Explication logique

Nous avons créé une macro «InsertingPagebreak» pour insérer un saut de page. Nous faisons la comparaison des valeurs de 2 cellules consécutives dans la première colonne pour trouver la dernière cellule liée à un agent particulier et insérer un saut de page.

Explication du code

ActiveSheet.ResetAllPageBreaks Le code ci-dessus est utilisé pour supprimer les sauts de page précédents insérés dans la feuille.

If Cells (LngRow, LngCol) .Value <> Cells (LngRow – 1, LngCol) .Value Then Le code ci-dessus est utilisé pour comparer des cellules consécutives dans la première colonne.

ActiveWindow.SelectedSheets.HPageBreaks.Add Before: = Cellules (LngRow, LngCol)

Le code ci-dessus est utilisé pour insérer des sauts de page avant les cellules spécifiées.

Veuillez suivre ci-dessous pour le code

Sub InsertingPagebreak()

'Declaring variables

Dim LngCol As Long

Dim LngRow, MaxRow As Long

'Clear existing page breaks

ActiveSheet.ResetAllPageBreaks

LngCol = 1

'Getting row number of last cell

MaxRow = Range("A11").SpecialCells(xlCellTypeLastCell).Row

'Looping through all the rows starting from thirteenth row

For LngRow = 13 To MaxRow

'Comparing values in cell of two consecutive rows for the specified column

If Cells(LngRow, LngCol).Value <> Cells(LngRow - 1, LngCol).Value Then



'Inserting page break

ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(LngRow, LngCol)



End If



Next LngRow

End Sub

Si vous avez aimé ce blog, partagez-le avec vos amis sur Facebook et Facebook.

Nous serions ravis de vous entendre, faites-nous savoir comment nous pouvons améliorer notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]