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

VBA Word Discussion :

saut de page


Sujet :

VBA Word

  1. #1
    Futur Membre du Club
    saut de page
    Bonjour j'aimerais savoir si il était possible d'inserer automatiquement un texte apres un saut de page merci ;

  2. #2
    Expert éminent sénior
    Citation Envoyé par keranLatos Voir le message


    Bonjour,

    Un exemple :
    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
    17
    18
    19
    20
    21
     
    Sub Test()
     
        InsererUnTexteApresSautDePage "Texte à insérer", 2
     
    End Sub
     
     
    Sub InsererUnTexteApresSautDePage(ByVal MonTexte As String, ByVal NumeroDePage As Integer)
     
    Dim ObjBreaks As Breaks
     
        Set ObjBreaks = ActiveDocument.ActiveWindow.Panes(1).Pages(NumeroDePage).Breaks
     
        ObjBreaks(1).Range.Select
        Selection.Expand unit:=wdLine
        Selection.Range.Text = MonTexte
     
        Set ObjBreaks = Nothing
     
    End Sub
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  3. #3
    Futur Membre du Club
    Merci beaucoup !

  4. #4
    Futur Membre du Club
    je me permet de vous emebeter mais je ne trouve pas encore , je pense que cela existe mais comment :/ .
    Je voudrais savoir si il etait possible d'executer automatiquement cette macro des qu'un saut de page est fais (du genre en private sub )
    merci

  5. #5
    Expert éminent sénior
    Citation Envoyé par keranLatos Voir le message

    Comment est généré le saut de page ?
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  6. #6
    Futur Membre du Club
    il est generer uniquement quand on arrive a la fin de la page et que l'on continu d'ecrire

  7. #7
    Expert éminent sénior
    Citation Envoyé par keranLatos Voir le message

    Je n'ai pas vu d'événement qui permettrait cela.
    Que contiennent vos textes à insérer ? Sont-ils chaque fois différents ? Peuvent-ils être mis par défaut dans l'en-tête ?
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  8. #8
    Futur Membre du Club
    désoler de vous embeter deja ^^"
    et l'idee c'est que lorsque j'arrive a une fin de page la page d'apres insere automatiquement
    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
    17
    Sub Test()
        InsererUnTexteApresSautDePage " ", 2
      Selection.InsertFile FileName:="C:\Users\Bus\Desktop\Transmissionv.dotm", Range:="", _
            ConfirmConversions:=False, Link:=False, Attachment:=False
        Selection.Fields.Update
     
    End Sub
    Sub InsererUnTexteApresSautDePage(ByVal MonTexte As String, ByVal NumeroDePage As Integer)
    Dim ObjBreaks As Breaks
     
        Set ObjBreaks = ActiveDocument.ActiveWindow.Panes(1).Pages(NumeroDePage).Breaks
     
        ObjBreaks(1).Range.Select
        Selection.Expand Unit:=wdLine
     
        Set ObjBreaks = Nothing
    End Sub

  9. #9
    Expert éminent sénior
    Citation Envoyé par keranLatos Voir le message

    J'ai bien compris ce que vous souhaitiez, mais je ne vois pas l'événement VBA qui permet de le faire.
    Que contient votre fichier ? L'import occupe-t-il toute la page ? Autrement dit, lorsque vous commencez à remplir votre document vous avez une idée du nombre de sauts de pages qu'il y aura ?
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  10. #10
    Futur Membre du Club
    Que contient votre fichier ? du texte pour des transmission d'information
    L'import occupe-t-il toute la page ? juste le haut de la page
    Autrement dit, lorsque vous commencez à remplir votre document vous avez une idée du nombre de sauts de pages qu'il y aura : non malheureusement je ne sais cela varie .

    desoler ^^"

  11. #11
    Expert éminent sénior
    Citation Envoyé par keranLatos Voir le message

    Dans votre cas, je créerais un quickpart à partir de votre document. Pour cela, vous importez votre document dans une nouvelle page, vous sélectionnez l'import et dans Insertion / Quickpart, vous enregistrez la sélection.
    Vous pourrez ensuite rappeler votre quickpart très facilement à chaque changement de page.
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  12. #12
    Futur Membre du Club
    D'accord et du coup pour que le quickpart s'insere automatiquement a chaque nouvelle page je devrais trouver plus facilement c'est cela ? je m'escuse si ma question est bête.

    Edit : je croyais avoir trouver mais je n'est pas encore trouver enfaite car du coup il faut toujours mannuelement inserer le quickpart ,mais je cherche encore merci !

  13. #13
    Expert éminent sénior
    Citation Envoyé par keranLatos Voir le message

    Oui, le quickpart ne change pas la donne en terme d'automatisation, mais c'est plus simple.
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  14. #14
    Expert éminent sénior
    Citation Envoyé par keranLatos Voir le message

    A défaut d'automatisation, une solution consisterait à provoquer le saut de page avec un bouton, lorsque vous approchez d'un bas de page.

    Le code est le suivant :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub InsererUnTexteApresSautDePage()
     
        With Selection
             .InsertBreak Type:=wdPageBreak
             .Range.Select
             .Expand unit:=wdLine
             .Range.Text = "Texte à insérer"
        End With
     
    End Sub


    La macro peut être lancée par un bouton placé dans la barre d'accès rapide comme le bouton rouge dans ce vidage d'écran :
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  15. #15
    Futur Membre du Club
    merci beaucoup