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


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut Saut de page
    J'utilise le code ci dessouspour modifier mes saut de page mais j'ai un bug à la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set Sheets(2).HPageBreaks(i).Location = Range("A" & pos - 2)
    Merci pour votre aide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    sdp = Sheets(2).HPageBreaks.Count
        If sdp > 0 Then
            For i = 1 To sdp
                pos = Sheets(2).HPageBreaks(i).Location.Row
                If Sheets(2).Cells(pos, 7).Value <> "" And Sheets(2).Cells(pos - 2, 7).Value <> "" Then
                    j = Sheets(2).Cells(pos, 7).End(xlUp).Row
                    Sheets(2).Rows(j - 2 & ":" & j).Copy
                    Sheets(2).Rows(pos & ":" & pos + 2).Insert Shift:=xlDown
                ElseIf Sheets(2).Cells(pos - 2, 7).Value = "" Then
                    Set Sheets(2).HPageBreaks(i).Location = Range("A" & pos - 2)
                ElseIf Sheets(2).Cells(pos - 1, 7).Value = "" And Sheets(2).Cells(pos - 2, 7).Value = "" Then
                    Set Sheets(2).HPageBreaks(i).Location = Range("A" & pos - 1)
                End If
            Next i

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    L'instruction Set (la lire dans ton aide en ligne) est faite pour assigner à une variable la référence à un objet

    Location, dans ton code, n'est pas un objet, mais une propriété.
    Set n'a donc pas ici lieu d'être utilisé.

    Je viens par ailleurs d'ouvrir mon aide en ligne sur la propriété location ...
    Elle est assortie d'un exemple, qui est précisément la modification de l'emplacement d'un saut de page horizontal ... !

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut Saut de page
    J'ai appliquer exactement l'exemple de l'aide en ligne mais ça ne marche pas, il ne se passe rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets(1).HPageBreaks(1).Location = Worksheets(1).Range("e5")
    Merci pour votre aide

  4. #4
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Pour déplacer un saut de page, il faut qu'il existe. S'il n'y a aucun saut de page, il faut d'abord le créer. Voir la méthode add de la collection HPageBreaks. L'argument Before te permettra de le placer directement où tu le veux.

    Cordialement,

    PGZ

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut
    Il est évident que mon saut de page existe, mais pour autant, ca ne marche pas
    ni dans mon programme, ni dans un exemple simple que j'ai refait.

    Merci

    Plus exactement, quand j'applique l'exemple, il me supprime le contenu de la cellule correspondant à mon saut de page, mais il ne me deplace pas le saut de page

  6. #6
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    salut,

    oui vraiment relou ton truc , un bug + une erreur dans l'aide en ligne excel VBA...

    Si tu utilise le code de l'aide en ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets(1).HPageBreaks(1).Location = Worksheets(1).Range("e5")
    cela copie le contenu de la cellule E5 dans la cellule designée par le saut de page...


    l'enregistrement d'une macro de déplacement donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Set ActiveSheet.HPageBreaks(1).Location = Range("A11")
    qui semble plus logique ..., mais voilà cela ne fonctionne pas ..et excel aprés mure reflexion nous sort une erreur 1004



    je crois que tu vas être obligé de passer par un ajout d'un saut de page au nouveau emplacement suivit d'un delete de l'ancien .


    tu dis quoi...

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

Discussions similaires

  1. [langage] convertir 0x0c en saut de page ?
    Par narmataru dans le forum Langage
    Réponses: 5
    Dernier message: 26/01/2005, 16h41
  2. [Rave Report] les sauts de page
    Par Isa31 dans le forum Rave
    Réponses: 4
    Dernier message: 14/10/2004, 18h51
  3. [VBA] Saut de page...
    Par _Maniak dans le forum Général VBA
    Réponses: 5
    Dernier message: 24/09/2004, 15h26
  4. Réponses: 7
    Dernier message: 05/12/2003, 10h14
  5. [Delphi6] Saut de page
    Par Seb328Ci dans le forum QuickReport
    Réponses: 1
    Dernier message: 02/10/2003, 12h36

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