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 :

[Excel 2003] Sauts de pages non "comptés"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut [Excel 2003] Sauts de pages non "comptés"
    Bonjour à toutes et à tous !

    J'ai un petit problème tout bête, assez bizarre, tenant peut-être du bug Excel... Je ne sais pas vraiment quoi en penser. Peut-être pourrez-vous m'aider ?

    Alors voilà, j'ai ce petit bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub count()
        For i = ActiveSheet.HPageBreaks.count To 1 Step -1
            MsgBox (ActiveSheet.HPageBreaks.Item(i).Location.Address)
        Next i
    End Sub
    Cela me compte le nombre de sauts de page que j'ai dans ma feuille puis m'affiche les lignes où ils sont situés.

    Le code marche à la perfection. Seulement, sur ma feuille, j'ai 2 sauts de page pour donc 3 pages En lançant le code, il ne m'affiche que le 1er saut de page. De plus, si je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MsgBox(ActiveSheet.HPageBreaks.count)
    je n'ai le droit qu'à 1 seul saut de page trouvé.

    Voilà où ça devient tordu : j'ai ce résultat seulement lorsque je suis au début de ma page. Si je scroll jusqu'en bas de ma feuille, 2 sauts de page sont trouvés avec les lignes correspondantes comme nécessaire Alors là, je ne vois vraiment pas...

    J'ai aussi fait un dernier test. Je me plaçais sur ma feuille tout en bas par un select tout bête avant de lancer ma procédure puis je me replaçais en haut : 1 seul saut de page et donc 1 seule ligne correspondante trouvée

    N'auriez-vous pas une petite idée ?

    Cordialement,

    André

    EDIT : Personne n'a une petite idée ?

  2. #2
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Avec Excel 2007 je viens de faire un test et il n'y chez moi aucun problème quelque soit la cellule dans laquelle je me trouve .

    Dans l'aide VBA j'ai ça :

    HPageBreaks, objet
    Collection des sauts de page horizontaux situés dans la zone d'impression.
    Remarques


    Chaque saut de page horizontal est représenté par un objet HPageBreak.

    Si vous ajoutez un saut de page qui ne coupe pas la zone d'impression, le nouvel objet HPageBreak n'apparaît pas dans la collection HPageBreaks de la zone d'impression. Le contenu de la collection est susceptible de changer si vous redimensionnez ou redéfinissez la zone d'impression.

    Lorsque la propriété Application, la propriété Count, la propriété Item, la propriété Parent ou la méthode Add est utilisée avec la propriété HPageBreaks :

    Pour une zone d'impression automatique, la propriété HPageBreaks s'applique uniquement aux sauts de page de la zone d'impression.
    Pour une zone d'impression personnalisée de la même plage, la propriété HPageBreaks s'applique à tous les sauts de page.
    Remarque
    Une feuille ne peut pas contenir plus de 1 026 sauts de page horizontaux.


    Exemple


    Utilisez la propriété HPageBreaks pour renvoyer la collection HPageBreaks. Utilisez la méthode Add pour ajouter un saut de page horizontal. L'exemple suivant montre comment ajouter un saut de page horizontal au-dessus de la cellule active.

    Visual Basic pour Applications
    ActiveSheet.HPageBreaks.Add Before:=ActiveCell

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Dans mon cas, je n'utilise que les sauts de pages automatiques.

    De plus, la zone d'impression est définie depuis le début par mes soins.

    Si je récapitule, j'ai une zone d'impression coupée par 2 sauts de page automatiques.

    Je devrais donc obtenir 2 sauts de page en utilisant la propriété Count mais je n'en obtiens qu'un seul lorsque je suis au début de ma feuille. Lorsque je scroll en bas de ma feuille, j'en obtiens 2. Pourtant je n'ai rien changé, la zone d'impression est toujours définie en dur et n'a donc pas changé. De plus, le scroll ne redimensionne rien et il y a toujours mes 2 sauts. Enfin, je nai fait QUE scroller : la cellule sélectionnée est toujours A1.

    Dois-je crier au bug ?

Discussions similaires

  1. Saut de page non voulu, après \section{}
    Par JeanGeorges dans le forum Mise en forme
    Réponses: 2
    Dernier message: 30/05/2010, 08h47
  2. saut de page non désiré
    Par -=mateo=- dans le forum Mise en forme
    Réponses: 0
    Dernier message: 03/06/2009, 14h53
  3. [VB.NET][EXCEL] Insérer un saut de page
    Par joKED dans le forum Windows Forms
    Réponses: 4
    Dernier message: 10/04/2006, 22h58

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