Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1013 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] macro word : insertion de texte

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA] macro word : insertion de texte

n°1682019
manu776232​3
Posté le 05-02-2008 à 15:04:40  profilanswer
 

Bonjour,
   
Voilà j'ai beaucoup de documents Word avec en première page un tableau, en seconde page la table des matières, et le document en lui-même commence en page 3 par un titre.  
 
Ce que je voudrais faire, c'est une macro permettant de remplacer le contenu de la page 1 et 2 par un texte comportant 2 lignes, séparé du 1er titre par un saut de ligne.
 
Merci d'avance pour vos réponses.

mood
Publicité
Posté le 05-02-2008 à 15:04:40  profilanswer
 

n°1682038
ZeBix
edit > preview
Posté le 05-02-2008 à 15:33:21  profilanswer
 

Tu as essayé en faisant l'opération à la main et en enregistrant toutes tes actions via l'Enregistreur de Macros ?  
 
Ça te donnerait déjà une bonne base sur laquelle travailler, comme dit dans d'autres topics il vaut mieux venir ici avec un début de solution, présenter les problèmes que tu rencontres et montrer que tu y as mis du tien, plutôt que de demander qu'on fasse le boulot à ta place ...

n°1682083
manu776232​3
Posté le 05-02-2008 à 16:13:50  profilanswer
 

Je ne l'ai pas fait avec l'enregistrement, mais j'ai écrit ça :  
 

Code :
  1. Sub Signets()
  2. '
  3. ' signets Macro
  4. ' Développée par frhumbee le 05/02/08
  5. '
  6.     With ActiveDocument.Bookmarks
  7.         .Add Range:=Selection.Range, Name:="Debut"
  8.         .DefaultSorting = wdSortByName
  9.         .ShowHidden = False
  10.     End With
  11.     ActiveWindow.ActivePane.SmallScroll Down:=130
  12.     Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:="3"
  13.     Selection.Find.ClearFormatting
  14.    
  15.     With ActiveDocument.Bookmarks
  16.         .Add Range:=Selection.Range, Name:="Fin"
  17.         .DefaultSorting = wdSortByName
  18.         .ShowHidden = False
  19.     End With
  20.     ActiveWindow.ActivePane.SmallScroll Down:=-56
  21.    
  22.     ActiveDocument.Range(ActiveDocument.Bookmarks("Debut" ).Range.Start, ActiveDocument.Bookmarks("Fin" ).Range.End).Select
  23.    
  24.     Selection.TypeText Text:="---+!! TITRE DU DOCUMENT 'saut de ligne' INDEX 'saut de ligne' "
  25.      
  26. End Sub


 
J'insère un signet au début du document et un signet avant le 1er titre de la page 3. Puis je sélectionne le contenu entre ces 2 signets, et je remplace la sélection par mon texte.  
C'est là que j'ai un problème, car le texte de remplacement doit avoir cette allure dans word après exécution :  
---------
TITRE DU DOCUMENT
 
INDEX

 
1er titre
---------
 
et je ne sais pas comment insérer des saut de ligne dans la ligne de code.  
J'ai essayé quelques codes que j'ai lu sur les forums mais cela insère le code dans la ligne dans word mais ne l'interprète pas...
 
Merci pour l'aide

n°1682093
ZeBix
edit > preview
Posté le 05-02-2008 à 16:27:06  profilanswer
 

Le saut de ligne c'est  " & vbCr " à la fin de ta ligne, iirc
 
Quant à tes sélections je pense que tu fais quand même de la sélection manuelle (en entrant des valeurs précises comme le 130 ou le 56) et qu'à la moindre variation dans un document ça ne va pas marcher ...  
 
Va donc voir ce genre d'article qui explique comment sélectionner une page entière via une macro , je pense que tu vas déjà avoir de bonnes pistes :)

n°1682846
manu776232​3
Posté le 06-02-2008 à 16:50:50  profilanswer
 

Merci ! Nikel !  :)  
 
Pour les valeurs précises c'était dû à l'enregistrement macro mais je les ai supprimé et ca marche très bien sans...sur tous les documents !
 
Et merci pour le lien j'ai trouvé d'autres trucs intéressant pour mon projet !

n°1682860
ZeBix
edit > preview
Posté le 06-02-2008 à 16:56:36  profilanswer
 

Hehe de rien
 
Mais comme toujours, Google est ton ami, j'ai trouvé ce site en deux coups de click à pot :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] macro word : insertion de texte

 

Sujets relatifs
Macro / html ou php !!!!?[Résolu] Remplacer des caractères par d'autres dans un fichier texte
[RESOLU] Excel Macro : Sheet-Range.select avec ActiveX[VBA Excel] Déterminer répertoires de configurations
EXCEL VBA Drag&Drop de fichierbouton sur access qui permet d'accéder à un fichier word
macro word remplacer image par texte[VBA =>AUTOCAD] chemin du projet .dvb
Plus de sujets relatifs à : [VBA] macro word : insertion de texte


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR