Imprimer sans coupé une cellule

Bonjour à tous

Je viens vers vous car j'ai créer un fichier pour le boulot qu'on devra imprimer chaque jour.
Chaque jours il y aura des modifications, donc forcément les cellules vont bouger.
Ma question c'est, est-il possible d'imprimer sans qu'une cellule soit coupé ?
Je pense savoir d'où viens mon problème c'est que chaque cellule comporte 4 lignes. Certaine sous cellules sont fusionné et d'autre non car verrouillé. Du coup quand j'imprime je me retrouve avec un début de cellule (ligne 1 de la cellules dites) et le reste sur l'autre feuille.

Avez vous une solution à m’apporter ?

Je vous remercie d'avance pour vos réponses

Bonjour Mimisuitou,
voici une propositon.
Je ne sais pas si elle fonctionnera pour tous vos cas.
J'ai testé sur des fusions de cellules en colonne A, ainsi que des fusions différentes en colonne B avec des tailles de colonnes A et B pour avoir les colonnes sur des pages différentes, les sauts de page se font correctement.

Sub SautDePage()
Dim i As Integer
Dim RangeSaut As Range

Dim NbSaut As Integer

    NbSaut = ActiveSheet.HPageBreaks.Count

    For i = 1 To NbSaut
        Set RangeSaut = Range(ActiveSheet.HPageBreaks(i).Location.Address)
        If RangeSaut.MergeArea.Count > 1 Then
            'cellule fusionnée
            If ActiveSheet.HPageBreaks(i).Location.Row <> RangeSaut.MergeArea.Cells(1, 1).Row Then
                ' Saut de page à l'intérieur de la plage fusionnée -> on le déplace juste avant
                ActiveSheet.HPageBreaks(i).Delete
                ActiveSheet.HPageBreaks.Add before:=RangeSaut.MergeArea.Cells(1, 1)
            End If
        End If
    Next i
End Sub

bonjour mimisuitou, clr,

le "printarea", je comprend que cela change, mais environ combien de lignes et colonnes pour combien de pages ?

Bonjour,

il faut revoir ton document pour que ça rentre dans la largeur.
Si tu fais du 42, tu ne rentreras jamais dans du 36, même en forçant.
Tu peux diminuer les marges pour augmenter la place utile, et sinon réduire les colonnes.
Et pPasser en paysage si besoin
eric

Je reviens sur ma précédente réponse :
j'avoue être perplexe du résultat de certaines lignes de code au vu des descriptions Microsoft sur les objets Saut de page.
Mon code ne fonctionne que si les cellules fusionnées sont en colonne A.
Je n'arrive pas à accéder aux autres colonnes concernées par le même saut de page

ActiveSheet.HPageBreaks(i).Location.Address -> "$A$68"
ActiveSheet.HPageBreaks(i).Location.Columns.Count -> 1 (il y a 2 colonnes A et B !!!)

re,

moi, j'attends jusqu'au moment où on me donne un exemple anonymisé du "printarea". Alors, je n'utiliserai pas de pagebreaks mais un changement du nombre de colonnes pour définir une nouvelle page.

Je viens de relire, je vois que j'avais mal compris la question. Désolé... :-)
Les HPageBreaks et compagnie sont buggés et obligent à des acrobaties lors de leur suppression.

Ce à quoi j'étais arrivé pour leur suppressions :

Sub suppSautPageH(sh As Worksheet)
    Dim HPB As HPageBreak, c As Range
    'supp sauts de page Hz manuel, en 2 temps suite bug
    For Each HPB In sh.HPageBreaks
        i = i + 1
        If HPB.Type = xlPageBreakManual Then tmp = tmp & "," & i
    Next
    tmp = Split(Mid(tmp, 2), ",")
    For i = UBound(tmp) To 0 Step -1
        Debug.Print sh.HPageBreaks(tmp(i)).Location.Row
        'sh.HPageBreaks(tmp(i)).Delete
    Next i
End Sub

Je pense que le mieux est de tous les supprimer, puis de les créer là où il faut
eric

Rechercher des sujets similaires à "imprimer coupe"