Ajouter des paragraphe d'un fichier word vers un autre

Ajouter des paragraphe d'un fichier word vers un autre - VB/VBA/VBS - Programmation

Marsh Posté le 17-07-2014 à 14:34:49    

Bonjour à tous,
 
J'essaie actuellement de faire un petit programme qui pourrait considérablement embellir ma vie mais j'avoue que je tourne un peu en rond et je ne sais pas trop par où commencer. Après quelque recherche je n'ai pas vraiment trouver de solution pour le moment.
 
L'idée est de pouvoir construire un document word automatiquement. Aujourd'hui ce document se décompose en deux partie (sur deux documents différents), le premier avec la structure et des paragraphes généraux qui sont là dans tous les cas, et le deuxième avec des paragraphes spécifiques selon les cas que l'on copie colle dans le premier.
 
L'objectif serait de créer un macro sur le deuxième pour coller les paragraphes dans le premier et pouvoir choisir les cas par exemple 1, 2, 3 etc..
 
J'ai jusque là essayer deux-trois trucs avec des signet, sans grand succès..
 
J'aurais donc voulu savoir si quelqu'un avait des pistes à me donner dans cette direction. Déjà dans un premier temps réussir à copier le paragraphe que je veux du document deux à l'endroit ou je veux du document un, même de façon manuelle, je m'occuperais après de faire mes conditions ou voir comment vraiment l'automatiser dans un second temps.
 
J'ai déjà un peu fait de VBA mais plus pour des applications sur Excel il y a quelque temps, mais là sur word je peine à retrouver mes marques.
 
Merci d'avances pour vos conseils :)

Reply

Marsh Posté le 17-07-2014 à 14:34:49   

Reply

Marsh Posté le 17-07-2014 à 18:36:11    

Bon pour ceux qui aurait un besoin similaire, voici des pistes qui m'ont aidé
 
Tout d'abord j'ai créé un bouton de commande sur mon document 2 qui m'ouvre un UserForm dans lequel j'ai des checkBox pour choisir quels paragraphes je souhaite copier/coller dans le document 1
 

Code :
  1. Private Sub para_Click()
  2. Load UserForm1
  3. UserForm1.Show
  4. End Sub


 
 
Ensuite dans le UserForm j'ai un liste de checkBox et un bouton valider et sur ce bouton valider j'ai mis ce code là :
 

Code :
  1. Private Sub CommandButton1_Click()
  2. If CheckBox1 = True Then
  3.         Windows("Document 1.docx" ).Activate
  4.         ActiveWindow.Panes(1).Activate
  5.         ActiveDocument.Bookmarks("Signet 1" ).Select
  6.         Selection.InsertFile FileName:="Document 2.docm", Range:="Signet 1", _
  7.             ConfirmConversions:=False, Link:=False, Attachment:=False
  8.         Windows("Bloc.docm" ).Activate
  9.         ActiveWindow.Panes(1).Activate
  10. End If
  11. UserForm1.Hide
  12. End Sub


 
Au lieu de faire un copier coller je suis passé par l'enregistreur de macro en faisant Insertion/Objet et en utilisant des signets pour la plage
 
Et du coup si pour chaque paragraphe du document 2 je met un signet (paragraphe à copier) et que ensuite j'en met un sur le document 1 (Destination) bah ça marche pas trop mal.
 
Seul bémol, si pour arranger de la mise en forme ou de l’esthétique, on supprime l'endroit où il y avait le signet pour la destination.. ça ne marche plus.
 
Si quelqu'un à une idée ou un autre moyen d'indiquer où on veut se placer avant de coller je suis preneur.
 
En tout cas bien que mon sujet n'ai pas suscité de réponses direct à mon problème, merci tout de même car c'est en grande partie grâce à d'autre topic que j'ai pu adapter certaine choses à mon besoin.
 
En espérant avoir été suffisamment claire dans mes explications, pas sur de m'être compris moi même

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed