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 -
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
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
-
Bonjour,
voici 2 sites pour démarrer
utiliser l'enregistreur de macro:
https://openclassrooms.com/fr/courses/1438346-redigez-facilement-des-documents-avec-word/1443761-macros-et-vba
et pour aller plus loin:
https://heureuxoli.developpez.com/office/word/vba-word/
-
-
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 -
-
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.
-