VBA sélectionner page 2 et copie en fi de doc

Max83830 Messages postés 29 Statut Membre -  
Max83830 Messages postés 29 Statut Membre -
Bonjour à tous et à toutes,
Je débute le VBA sous Word.
Je souhaiterai créer une macro qui sélectionne la page deux intégralement, la copie et la colle en fin de document en respectant la mise en page.

J'utilise WORD 2016.
Merci d'avance

Configuration: Windows / Edge 17.17134

1 réponse

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    1
    1. Max83830 Messages postés 29 Statut Membre 1
       
      Merci pour les liens, j'ai déjà essayé avec l'enregistreur de macro, mais je suis plus à l'aise avec Excel, il faut que j'approfondisse et je suis limite avec le temps
      0
    2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      Tu sélectionnes le début de ton texte: dans le ruban Insertion Signet que tu nommes debut
      La fin du texte Insertion signet fin
      Tu vas à l'endroit que tu veux coller ton texte: Insertion Signet copier

      voici les macros:

      Sub selectiontexte()
      'Déclare les nom des signets
      Const UnSignet As String = "debut"
      Const DeuxSignet As String = "fin"
      
      'Déclare le variable Range
      Dim Signet1Rge As Range
      Dim Signet2Rge As Range
      Dim selection As Range
      
      'Assigne les variables
      With ActiveDocument
      Set Signet1Rge = .Bookmarks(UnSignet).Range
      Set Signet2Rge = .Bookmarks(DeuxSignet).Range
      
      'Assigne le texte à selectionner
      '(Texte compris entre fin du premier signet
      'et début du deuxième)
      Set selection = _
      .Range(Signet1Rge.End, Signet2Rge.Start)
      
      'selectionne le texte pour la copie
      selection.Select
       selection.Copy 'copie le texte
      End With
      End Sub
      Sub copiertexte()
      'Déclare les nom du signet
      Const Troissignet As String = "copier"
      
      'Déclare le variable Range
      Dim Signet3Rge As Range
      Dim selection As Range
      
      'Assigne la variable
      With ActiveDocument
      Set Signet3Rge = .Bookmarks(Troissignet).Range
      
      Set selection = _
      .Range(Signet3Rge.Start)
      
      'selectionne le début de copie
      selection.Select
      selection.Paste 'colle le texte
      End With
      End Sub
      
      
      


      Voilà

      @+ Le Pivert
      0
    3. Max83830 Messages postés 29 Statut Membre 1
       
      Merci,
      macro fonctionnelle,
      mais serait-il possible de lui faire copier sur la ligne avant le signet copier, pour pouvoir renouveler l'opération autant de fois que nécessaire, car lors de la copie il écrase le signet et l'opération n'est possible qu'une fois.
      Merci par avance
      0
    4. Max83830 Messages postés 29 Statut Membre 1
       
      Bonsoir,
      j'ai trouvé une façon peu académique de traiter ce problème.
      Deux macros, tes deux modules en un, puis j'ajoute après être allé à la ligne deux fois, une macro qui insère ton signet coller pour le traitement suivant.Pour l'instant, je n'ai pas le temps de voir plus en avant, mais je te remercie pour ta solution clé en main.
      0