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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA WORD] Virer le debut des titres

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA WORD] Virer le debut des titres

n°1479929
silver666
Posté le 22-11-2006 à 14:29:14  profilanswer
 

Bonjour
 
Voila mon petit probleme:
 
J'ai sous word un tres long texte avec des titres qui ressemblent a ca
 
1.1.5    5.1.5 Titre
 
Le premiere partie du numbering (le 1.1.5) provient du format lui meme, ou c'est word qui s'occupe de gerer tout ca
Le deuxieme (le 5.1.5) provient de la conversion XML-->RTF: Pour simplifier disons qui'il ete ecrit a la main
 
Le 1er ne peut pas etre retirer ou modifier vu qu'il est gerer par le format
Le 2eme lui n'est que du texte simple, et je souhaiterai l'enlever
 
Donc en gros je souhaiterai faire une macro qui m'enleve le debut (nombres+Tab) mais seulement pour ceux qui ont le format "Titre"
 
2eme question tant que l'on y est  :D  
Je souhaiterai une macro qui me permette de selectionner tous les textes qui ont le format X
 
 
Voila, merci pour votre aide !!!!

mood
Publicité
Posté le 22-11-2006 à 14:29:14  profilanswer
 

n°1480052
Paul Hood
Posté le 22-11-2006 à 16:58:52  profilanswer
 

Bonjour,
Pour rechercher si ton parapgraphe correspond au style cherché tu peux faire :
For Each Parag In ActiveDocument.Paragraphs
   if Parag.Style = MonStyle then msgbox(Parag)
Next

n°1480099
Paul Hood
Posté le 22-11-2006 à 17:32:08  profilanswer
 

A mon avis il y a mieux mais j'ai trouvé que ca pour l'instant
 
Sub SupprimeDevanttitre()
    Dim MyRange As Range
    i = 0
    For Each parag In ActiveDocument.Paragraphs
        i = i + 1
        If parag.Style = "Titre 1" Then
            Set Doc = ActiveDocument
            Set MyRange = Doc.Range(Start:=Doc.Paragraphs(i).Range.Start, End:=Doc.Paragraphs(i).Range.End)
            toto = IsNumeric(Mid(MyRange, 1, 1))
            Do While IsNumeric(Mid(MyRange, 1, 1)) Or Mid(MyRange, 1, 1) = "." Or Mid(MyRange, 1, 1) = " "
                MyRange.Characters(1).Delete
            Loop
        End If
    Next
End Sub
 
J'espere que ca t'aide.

n°1480143
seniorpapo​u
Posté le 22-11-2006 à 18:00:10  profilanswer
 

Bonsoir Paul Hood
pour mon info, quel est le rôle de toto?
Cordialement

n°1480503
Paul Hood
Posté le 23-11-2006 à 11:30:14  profilanswer
 

Aucun rôle, jusque un reste de debug... a supprimer.

n°1480542
seniorpapo​u
Posté le 23-11-2006 à 12:10:10  profilanswer
 

Bonjour,
Merci  beaucoup
Cordialement

n°1482311
silver666
Posté le 27-11-2006 à 14:38:39  profilanswer
 

Merci pour ces reponses ;)
Je vais tester ca

n°1485725
homepyrof
Posté le 03-12-2006 à 19:09:34  profilanswer
 

Bonjour,
 
tu peux faire un rechercher remplacer comme suit:
 

Code :
  1. Sub Macro1()
  2.     Selection.Find.Style = ActiveDocument.Styles("Titre 1" )
  3.     With Selection.Find
  4.         .ClearFormatting
  5.         .Replacement.ClearFormatting
  6.         .Text = "[0-9. ]{1,}"
  7.         .Replacement.Text = ""
  8.         .Forward = True
  9.         .Wrap = wdFindContinue
  10.         .Format = True
  11.         .MatchCase = False
  12.         .MatchWholeWord = False
  13.         .MatchAllWordForms = False
  14.         .MatchSoundsLike = False
  15.         .MatchWildcards = True
  16.         .Execute Replace:=wdReplaceAll
  17.     End With
  18. End Sub


 


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

  [VBA WORD] Virer le debut des titres

 

Sujets relatifs
[VB/VBA/VBS] Supprimer une valeur du registre qui fini par "\"[Excel VBA] Macro qui se lance à chaque calcul
un programme simple qui marche pas (en If et Else)Trier un tableau sous excel horizontalement avec VBA(résolu)
[Excel VBA] Compteur - incrémentationSelection multilignes VBA
[VBA] Word stopper la pagination[VBA] Ranger des données a la suite
[Access][VBA] Redimensionner une page Web dans un formulaire 
Plus de sujets relatifs à : [VBA WORD] Virer le debut des titres


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