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

Fermé
Max83830 Messages postés 29 Date d'inscription dimanche 5 août 2018 Statut Membre Dernière intervention 5 juin 2019 - 15 déc. 2018 à 14:44
Max83830 Messages postés 29 Date d'inscription dimanche 5 août 2018 Statut Membre Dernière intervention 5 juin 2019 - 16 déc. 2018 à 19:21
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
A voir également:

1 réponse

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
15 déc. 2018 à 16:18
1
Max83830 Messages postés 29 Date d'inscription dimanche 5 août 2018 Statut Membre Dernière intervention 5 juin 2019 1
15 déc. 2018 à 21:09
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
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
16 déc. 2018 à 12:36
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
Max83830 Messages postés 29 Date d'inscription dimanche 5 août 2018 Statut Membre Dernière intervention 5 juin 2019 1
16 déc. 2018 à 14:42
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
Max83830 Messages postés 29 Date d'inscription dimanche 5 août 2018 Statut Membre Dernière intervention 5 juin 2019 1
16 déc. 2018 à 19:21
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