Copier saut de ligne

Bonjour,

j'aimerai savoir si il était possible de copier les sauts de pages d'un onglet 1 pour les copier dans un onglet 2.

Merci!

edit: Il s'agit de saut de ligne horizontal placé manuellement dans l'onglet 1!

Bonjour Thomas,

Je te propose le code suivant :

Sub ReplicatePageBreaks()
    Const cFromSheet = "Feuil1"    'A adapter suivant le nom de la feuille contenant les sauts de page
    Const cToSheet = "Feuil2"      'A adapter suivant le nom de la feuille devant recevoir les sauts de page

    Dim oFromSheet As Worksheet, oToSheet As Worksheet
    Dim i As Integer, iNb As Integer
    Dim oPB As HPageBreak

    'On référe la feuille contenant les saut de page
    Set oFromSheet = ThisWorkbook.Worksheets(cFromSheet)
    'On réfère la feuille devant recevoir les sauts de page
    Set oToSheet = ThisWorkbook.Worksheets(cToSheet)

    'On récupère le nombre de sauts de page
    iNb = oFromSheet.HPageBreaks.Count

    'S'il y a au moins un saut de page
    If iNb > 0 Then
        'On efface les sauts de page de la feuille destinataire
        oToSheet.ResetAllPageBreaks
        'On boucle sur le nombre de sauts de page
        For i = 1 To oFromSheet.HPageBreaks.Count
            'On réfère un saut de page
            Set oPB = oFromSheet.HPageBreaks(i)
            'On réplique ce saut de page dans la feuille destinataire
            oToSheet.HPageBreaks.Add oPB.Location
        Next
    End If

'On fait le ménage
    Set oPB = Nothing
    Set oFromSheet = Nothing
    Set oToSheet = Nothing
End Sub

Bonjour Thomas,

Je te propose le code suivant :

Sub ReplicatePageBreaks()
    Const cFromSheet = "Feuil1"    'A adapter suivant le nom de la feuille contenant les sauts de page
    Const cToSheet = "Feuil2"      'A adapter suivant le nom de la feuille devant recevoir les sauts de page

    Dim oFromSheet As Worksheet, oToSheet As Worksheet
    Dim i As Integer, iNb As Integer
    Dim oPB As HPageBreak

    'On référe la feuille contenant les saut de page
    Set oFromSheet = ThisWorkbook.Worksheets(cFromSheet)
    'On réfère la feuille devant recevoir les sauts de page
    Set oToSheet = ThisWorkbook.Worksheets(cToSheet)

    'On récupère le nombre de sauts de page
    iNb = oFromSheet.HPageBreaks.Count

    'S'il y a au moins un saut de page
    If iNb > 0 Then
        'On efface les sauts de page de la feuille destinataire
        oToSheet.ResetAllPageBreaks
        'On boucle sur le nombre de sauts de page
        For i = 1 To oFromSheet.HPageBreaks.Count
            'On réfère un saut de page
            Set oPB = oFromSheet.HPageBreaks(i)
            'On réplique ce saut de page dans la feuille destinataire
            oToSheet.HPageBreaks.Add oPB.Location
        Next
    End If

'On fait le ménage
    Set oPB = Nothing
    Set oFromSheet = Nothing
    Set oToSheet = Nothing
End Sub

Merci beaucoup ça marche parfaitement!

Bonne journée

Re-bonjour, quelque fois un erreur apparait sur cette ligne savez vous pourquoi?

Set oPB = oFromSheet.HPageBreaks(i)

Bonjour,

Peux-tu préciser le message d’erreur et la valeur de i au moment où elle se produit?

Bonjour en fait le problème est régler!

Le message d'erreur s'affichait lorsque l'onglet dont je voulais copier les sauts de page était en vue normale et non en vue avec sauts de pages.

Merci!

Rechercher des sujets similaires à "copier saut ligne"