IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

MacroWord - Mettre en gras tous les textes entre les mots "BEGIN" et "END" [WD-2007]


Sujet :

VBA Word

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 5
    Points : 2
    Points
    2
    Par défaut MacroWord - Mettre en gras tous les textes entre les mots "BEGIN" et "END"
    Bonjour, Je suis un peu nouveau dans les macros Word.
    J'ai un long texte et je veux mettre en gras tous les textes situés entre les mots "BEGIN" et "END".
    J'ai trouvé des brides de réponse et je n'arrive pas à les assembler.
    J'obtiens l'erreur 5941 "Le membre de l'action requis n'existe pas".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub TexteBold()
     
    ActiveDocument.Range(ActiveDocument.Bookmarks("BEGIN").Range.Start, ActiveDocument.Bookmarks("END").Range.End).Select
     
    Selection.Font.Bold = True
     
    End Sub
    Quelqu'un aurait une macro similaire de ce genre qui fonctionne ?

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut


    Bonjour,

    tout dépend déjà si c'est un mot ou, comme dans le code, un signet ?!

    Si c'est un mot, utiliser la méthode de recherche sinon il faudrait penser à créer les signets dans le document …


    ______________________________________________________________________________________________________
    Je suis Charlie, Bardo, Sousse

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 5
    Points : 2
    Points
    2
    Par défaut J'ai trouvé
    Merci de l'aide, ca m'a donné la puce à l'oreille.
    J'ai abandonné les signets et j'ai effectué le Find/Replace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Sub TextBold()
        With Selection.Find
            .Text = "BEGIN*END"
            .MatchWildcards = True
            .Replacement.Font.Bold = True
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = True
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
    End Sub

  4. #4
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Exécution de la macro
    Ah! pour info, si la macro ne fonctionne plus, il faut fermer le document word et le rouvrir.
    Je ne sais pas pourquoi, mais c'est comme cela pour que cela refonctionne !

  5. #5
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Salut,

    Parce que ça fonctionne sur une sélection et quand la sélection se trouve à la fin du document, la recherche s'arrête.

    Avec un selection.HomeKey wdstory ça devrait le faire.

  6. #6
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Font bold size underline center entre deux chaines de caractere
    Ouais, super cool, je ne connaissais pas les macros word ce matin, c'est quand même assez puissant
    J'ai ajouté quelques options sur les modifs des fonts, ça peut servir à d'autres.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Sub TextBold()
        Selection.HomeKey wdStory
        With Selection.Find
            .Text = "BEGIN*END"
            .MatchWildcards = True
            .Replacement.Font.Bold = True
            .Replacement.Font.Size = 12
            .Replacement.Font.Underline = wdUnderlineSingle
            .Replacement.ParagraphFormat.Alignment = wdAlignParagraphCenter
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = True
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
    End Sub

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Suppression de texte
    Allez, pour info, un petit plus pour les novices, pour supprimer les balises.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub TexteDelete()
        Selection.HomeKey wdStory
        With Selection.Find
            .Text = "BEGIN"
            .Replacement.Text = ""
            .Execute Replace:=wdReplaceAll
        End With
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. les methodes et les associations entre les classes
    Par zin_rbt dans le forum Diagrammes de Classes
    Réponses: 1
    Dernier message: 24/05/2010, 14h41
  2. [MySQL] mettre du texte entre les enregistrement
    Par hichamdeb dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/06/2009, 22h08
  3. [SAX] Problème SAX lecture du texte entre les balises
    Par BernardT dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 07/07/2005, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo