Réalisation d'une macro
Cheval Bleu
-
Mike-31 Messages postés 18406 Date d'inscription Statut Contributeur Dernière intervention -
Mike-31 Messages postés 18406 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'essaie de faire une macro dans Word, mais il me manque quelques connaissances.
.
Voilà ce que j'essaie de faire:
1. Je veux que l'ordinateur recherche le mot "body",
2. puis la première occurrence du mot "title",
3. qu'il remplace celui-ci par "font-size"
4. et qu'il recommence à chercher le mot "body"
Tout cela jusqu'à la fin du document.
.
Voici ce que j'ai réussi à faire jusqu'à maintenant. Comment puis-je indiquer où commence la boucle et quand elle finit?
.
With Selection.Find
.Text = "body"
.Execute
With Selection.Find
.Text = "title"
.Replacement.Text = "font-size"
.Execute Replace:=wdReplaceAll
J'essaie de faire une macro dans Word, mais il me manque quelques connaissances.
.
Voilà ce que j'essaie de faire:
1. Je veux que l'ordinateur recherche le mot "body",
2. puis la première occurrence du mot "title",
3. qu'il remplace celui-ci par "font-size"
4. et qu'il recommence à chercher le mot "body"
Tout cela jusqu'à la fin du document.
.
Voici ce que j'ai réussi à faire jusqu'à maintenant. Comment puis-je indiquer où commence la boucle et quand elle finit?
.
With Selection.Find
.Text = "body"
.Execute
With Selection.Find
.Text = "title"
.Replacement.Text = "font-size"
.Execute Replace:=wdReplaceAll
A voir également:
- Réalisation d'une macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro maker - Télécharger - Divers Utilitaires
- Macro word - Guide
1 réponse
Bonjour Cheval Bleu,
Ce que tu recherches ressemble à du code html...
Dans ton code, il manque notamment le "End With" mais le 1er "With" me perturbe car je ne vois pas ce que Word va en faire.
Je ne comprends pas ce que tu veux faire de "body". Tu le recherches, d'accord, mais tu en fais quoi ? Tu as plusieurs "body" dans ta page web ?
Pourquoi ne pas chercher/remplacer "title" directement ?
À moins que tu aies des "title" qui précèdent un "body" ?
Dans ce cas, tu peux rechercher "body*title*".
Ce que tu recherches ressemble à du code html...
Dans ton code, il manque notamment le "End With" mais le 1er "With" me perturbe car je ne vois pas ce que Word va en faire.
Je ne comprends pas ce que tu veux faire de "body". Tu le recherches, d'accord, mais tu en fais quoi ? Tu as plusieurs "body" dans ta page web ?
Pourquoi ne pas chercher/remplacer "title" directement ?
À moins que tu aies des "title" qui précèdent un "body" ?
Dans ce cas, tu peux rechercher "body*title*".
Je recherche le mot "Fruits", puis le mot "Pommes", que je veux changer pour Citron. Il peut y avoir cinq à dix mots entre "Fruits" et "Pommes". Et "Pommes" peut revenir dix fois entre deux "Fruits". Je veux juste modifier la première première occurrence.
Voici le code que j'ai réalisé jusqu'à maintenant:
With Selection.Find
.Text = "Fruits"
.Execute
And with Selection.Find
.Text = "Pommes"
.Replacement.Text = "Citrons"
.Execute Replace:=wdReplaceAll
Si mon code commence par "With", c'est parce qu'il y a d'autre changement dans mon texte avant et il y en aura d'autre aussi après
Merci pour le -1…
Tes fruits et tes pommes ne changent rien car je ne me suis pas focalisée sur le vocabulaire. Ma 1re ligne était une simple remarque ou plutôt une demande de confirmation qui me permettait de mieux comprendre ton objectif.
Si tu (re)lis à partir de la 2e ligne, tu verras que je réfléchis à ton problème et y amorce même un début de réponse en te suggérant de rechercher "body*title*", pardon "fruits*pommes*" et en cochant les caractères génériques. Le remplacement se ferait en reprenant la même chaîne de caractères (le code ^& en interactif) et en lui ajoutant un caractère rarement utilisé comme le §. Un 2e passage pouvait simplement rechercher pommes§ et le remplacer par citrons. On doit pouvoir le faire en un seul passage. Avant de coder, il faut déjà le faire en interactif.
Mais plus trop envie de me décarcasser... Je cède volontiers la place à quelqu'un qui te fera ça clé en main et j'attends un -2 ;-)
C-Claire
Je te remercie pour ton retour. Je vais prendre le temps de l'étudier et je verrai ensuite ce que je peux faire.
À mon tour de m'excuser. Pour le -1, je l'ai rapporté au ton de ta réponse.
Maintenant, je comprends à qui je le dois. Il n'y a que 3 personnes ici capables de perfidie à mon égard et qui jouent du compteur sans avoir le courage de justifier leur note ni, en l'occurrence, d'apporter un début de solution.
Mais peu importe. Je ferme cette parenthèse qui ne te concerne donc pas et repartons sur une meilleure base ;-)
C-Claire