IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Saut de page VBA [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 23
    Par défaut Saut de page VBA
    Bonjour à tous,

    Je souhaîte faire un saut de page à intervalles réguliers avant d'enregistrer mon classeur en PDF, afin que les cellules ne soient pas coupées en deux.
    J'ai déjà essayé de faire un HpageBreak.Add qui n'a pas fonctionné, lorsque les cellules de la colonne A sont fusionnées.
    Existe t'il un moyen simple de déterminer sur quelle page se trouve une cellule et si elle est coupée en deux, appliquer le saut de page à la ligne supérieure ?

    Merci,

    Guillaume

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Essaie ceci.
    Il faudra peut-être la rouler 2 fois selon le nombre de lignes que tu as.
    Le dernier saut de page créé par la modification n'est pas tenu en compte lors du premier passage.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
        Dim nbLignes As Long
        Dim LigneSaut As Long, LigneDepart As Long
        Dim Saut As HPageBreak
        Dim Plage As Range
     
        nbLignes = Cells(Rows.Count, "A").End(xlUp).Row
        Set Plage = Range("A1:A" & nbLignes)
     
        'lecture de chaque saut de page
        For Each Saut In HPageBreaks
            LigneSaut = Range("A" & Saut.Location.Row).Row      'ligne où est le saut de page
            LigneDepart = Range("A" & LigneSaut).MergeArea.Row  'Ligne de début de la cellule fusionnée
     
            'Ajoute un saut de page avant la cellule fusionnée
            ActiveSheet.HPageBreaks.Add before:=Range("A" & LigneDepart)
        Next

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 23
    Par défaut
    Parfait, merci beaucoup de ton aide !

    Guillaume

  4. #4
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour.

    Et si cela ne te dérange pas que tous les sauts de pages soient déplacés, voici qui déplace les sauts de page actuels au lieu d' en ajouter de nouveaux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub tt()
     
        Dim Saut As HPageBreak
     
        ActiveWindow.View = xlPageBreakPreview
     
        ActiveSheet.ResetAllPageBreaks
     
        For Each Saut In HPageBreaks
     
            'Deplace le saut de page avant la cellule fusionnée
            Set Saut.Location = Saut.Location.MergeArea.Cells(1, 1)
     
        Next
     
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Insertion de saut de page VBA
    Par Lhumaniste dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 31/10/2013, 15h00
  2. saut de page vba access
    Par binouzzz19 dans le forum IHM
    Réponses: 4
    Dernier message: 21/05/2007, 13h46
  3. Saut de page et bouton VBA
    Par louroulou dans le forum Access
    Réponses: 2
    Dernier message: 22/06/2006, 14h30
  4. VBA : Insertion d'un saut de page dans WORD
    Par Actarus69 dans le forum VBA Word
    Réponses: 1
    Dernier message: 25/04/2006, 13h05
  5. [VBA] Saut de page...
    Par _Maniak dans le forum Général VBA
    Réponses: 5
    Dernier message: 24/09/2004, 15h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo