Je dispose d'un document-type sous Word 2000,à utiliser de manière
régulière dans mon travail, où l'auteur a cru bon de mettre des
exemples en police Lucida Console.
Je voudrais écrire une macro pour supprimer ces exemples, et ne garder
que le squelette du document.
En utilisant la fonction Rechercher/remplacer, j'arrive à supprimer
manuellement tout le texte rédigé dans cette police. Mais lorsque
j'essaye d'enregistrer la manip avec l'enregistreur de macros,
j'obtiens une macro qui fait péter quasi tout le texte, quelle que
soit la police, plus des perturbations majeures dans les titres.
L'analyse du code de la macro ne m'a rien appris (mais je n'y connais
pas grand chose), j'ai juste noté que le nom de la police n'y figurait
pas, ce qui me paraît bizarre.
Le même type de macro appliqué non au choix de la police, mais à un
autre caractère (la couleur) fonctionne bien, en revanche. Et là,
l'identification de la couleur à supprimer figure bien dans le code de
la macro.
Je n'ai rien compris ? ou bien s'agit-il d'un gros bug ?
Merci d'avance de votre aide.
cosinus
--
"une panne peut en cacher une autre" (théorème de la SNCF)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilgamesh
Bonsoir,
Je dispose d'un document-type sous Word 2000,à utiliser de manière régulière dans mon travail, où l'auteur a cru bon de mettre des exemples en police Lucida Console.
Je voudrais écrire une macro pour supprimer ces exemples, et ne garder que le squelette du document.
En utilisant la fonction Rechercher/remplacer, j'arrive à supprimer manuellement tout le texte rédigé dans cette police. Mais lorsque j'essaye d'enregistrer la manip avec l'enregistreur de macros, j'obtiens une macro qui fait péter quasi tout le texte, quelle que soit la police, plus des perturbations majeures dans les titres.
L'analyse du code de la macro ne m'a rien appris (mais je n'y connais pas grand chose), j'ai juste noté que le nom de la police n'y figurait pas, ce qui me paraît bizarre.
Le même type de macro appliqué non au choix de la police, mais à un autre caractère (la couleur) fonctionne bien, en revanche. Et là, l'identification de la couleur à supprimer figure bien dans le code de la macro.
Je n'ai rien compris ? ou bien s'agit-il d'un gros bug ?
Merci d'avance de votre aide.
cosinus
Bonjour,
le plus simple ca serait d'envoyer le code de la macro. Bonne journée. Gilgamesh
Bonsoir,
Je dispose d'un document-type sous Word 2000,à utiliser de manière
régulière dans mon travail, où l'auteur a cru bon de mettre des exemples
en police Lucida Console.
Je voudrais écrire une macro pour supprimer ces exemples, et ne garder
que le squelette du document.
En utilisant la fonction Rechercher/remplacer, j'arrive à supprimer
manuellement tout le texte rédigé dans cette police. Mais lorsque
j'essaye d'enregistrer la manip avec l'enregistreur de macros, j'obtiens
une macro qui fait péter quasi tout le texte, quelle que soit la
police, plus des perturbations majeures dans les titres.
L'analyse du code de la macro ne m'a rien appris (mais je n'y connais
pas grand chose), j'ai juste noté que le nom de la police n'y figurait
pas, ce qui me paraît bizarre.
Le même type de macro appliqué non au choix de la police, mais à un
autre caractère (la couleur) fonctionne bien, en revanche. Et là,
l'identification de la couleur à supprimer figure bien dans le code de
la macro.
Je n'ai rien compris ? ou bien s'agit-il d'un gros bug ?
Merci d'avance de votre aide.
cosinus
Bonjour,
le plus simple ca serait d'envoyer le code de la macro.
Bonne journée.
Gilgamesh
Je dispose d'un document-type sous Word 2000,à utiliser de manière régulière dans mon travail, où l'auteur a cru bon de mettre des exemples en police Lucida Console.
Je voudrais écrire une macro pour supprimer ces exemples, et ne garder que le squelette du document.
En utilisant la fonction Rechercher/remplacer, j'arrive à supprimer manuellement tout le texte rédigé dans cette police. Mais lorsque j'essaye d'enregistrer la manip avec l'enregistreur de macros, j'obtiens une macro qui fait péter quasi tout le texte, quelle que soit la police, plus des perturbations majeures dans les titres.
L'analyse du code de la macro ne m'a rien appris (mais je n'y connais pas grand chose), j'ai juste noté que le nom de la police n'y figurait pas, ce qui me paraît bizarre.
Le même type de macro appliqué non au choix de la police, mais à un autre caractère (la couleur) fonctionne bien, en revanche. Et là, l'identification de la couleur à supprimer figure bien dans le code de la macro.
Je n'ai rien compris ? ou bien s'agit-il d'un gros bug ?
Merci d'avance de votre aide.
cosinus
Bonjour,
le plus simple ca serait d'envoyer le code de la macro. Bonne journée. Gilgamesh
Circé
Bonjour cosinus,
Effectivement, bien qu'il soit ton ami (sic) l'enregistreur de macros n'enregistre pas tout !
Tu peux utiliser la macro suivante :
Sub lucida()
With Selection.Find .Font.Name = "Lucida Console" .Replacement.Font.Name = "Arial" .Forward = True .Wrap = wdFindContinue .Format = True .Execute Replace:=wdReplaceAll End With
End Sub
Il y a d'autres moyens pour remplacer les polices mais celle ci devrait fonctionner.
Cela dit, si ton collègue avait utilisé un style pour ses exemples, il aurait suffi de modifier la police du style... D'où le grand intérêt des styles !
Circé http://faqword.free.fr
cosinus a exprimé avec précision :
Bonsoir,
Je dispose d'un document-type sous Word 2000,à utiliser de manière régulière dans mon travail, où l'auteur a cru bon de mettre des exemples en police Lucida Console.
Je voudrais écrire une macro pour supprimer ces exemples, et ne garder que le squelette du document.
En utilisant la fonction Rechercher/remplacer, j'arrive à supprimer manuellement tout le texte rédigé dans cette police. Mais lorsque j'essaye d'enregistrer la manip avec l'enregistreur de macros, j'obtiens une macro qui fait péter quasi tout le texte, quelle que soit la police, plus des perturbations majeures dans les titres.
L'analyse du code de la macro ne m'a rien appris (mais je n'y connais pas grand chose), j'ai juste noté que le nom de la police n'y figurait pas, ce qui me paraît bizarre.
Le même type de macro appliqué non au choix de la police, mais à un autre caractère (la couleur) fonctionne bien, en revanche. Et là, l'identification de la couleur à supprimer figure bien dans le code de la macro.
Je n'ai rien compris ? ou bien s'agit-il d'un gros bug ?
Merci d'avance de votre aide.
cosinus
Bonjour cosinus,
Effectivement, bien qu'il soit ton ami (sic) l'enregistreur de macros
n'enregistre pas tout !
Tu peux utiliser la macro suivante :
Sub lucida()
With Selection.Find
.Font.Name = "Lucida Console"
.Replacement.Font.Name = "Arial"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.Execute Replace:=wdReplaceAll
End With
End Sub
Il y a d'autres moyens pour remplacer les polices mais celle ci devrait
fonctionner.
Cela dit, si ton collègue avait utilisé un style pour ses exemples, il
aurait suffi de modifier la police du style... D'où le grand intérêt
des styles !
Circé
http://faqword.free.fr
cosinus a exprimé avec précision :
Bonsoir,
Je dispose d'un document-type sous Word 2000,à utiliser de manière régulière
dans mon travail, où l'auteur a cru bon de mettre des exemples en police
Lucida Console.
Je voudrais écrire une macro pour supprimer ces exemples, et ne garder que le
squelette du document.
En utilisant la fonction Rechercher/remplacer, j'arrive à supprimer
manuellement tout le texte rédigé dans cette police. Mais lorsque j'essaye
d'enregistrer la manip avec l'enregistreur de macros, j'obtiens une macro qui
fait péter quasi tout le texte, quelle que soit la police, plus des
perturbations majeures dans les titres.
L'analyse du code de la macro ne m'a rien appris (mais je n'y connais pas
grand chose), j'ai juste noté que le nom de la police n'y figurait pas, ce
qui me paraît bizarre.
Le même type de macro appliqué non au choix de la police, mais à un autre
caractère (la couleur) fonctionne bien, en revanche. Et là, l'identification
de la couleur à supprimer figure bien dans le code de la macro.
Je n'ai rien compris ? ou bien s'agit-il d'un gros bug ?
Effectivement, bien qu'il soit ton ami (sic) l'enregistreur de macros n'enregistre pas tout !
Tu peux utiliser la macro suivante :
Sub lucida()
With Selection.Find .Font.Name = "Lucida Console" .Replacement.Font.Name = "Arial" .Forward = True .Wrap = wdFindContinue .Format = True .Execute Replace:=wdReplaceAll End With
End Sub
Il y a d'autres moyens pour remplacer les polices mais celle ci devrait fonctionner.
Cela dit, si ton collègue avait utilisé un style pour ses exemples, il aurait suffi de modifier la police du style... D'où le grand intérêt des styles !
Circé http://faqword.free.fr
cosinus a exprimé avec précision :
Bonsoir,
Je dispose d'un document-type sous Word 2000,à utiliser de manière régulière dans mon travail, où l'auteur a cru bon de mettre des exemples en police Lucida Console.
Je voudrais écrire une macro pour supprimer ces exemples, et ne garder que le squelette du document.
En utilisant la fonction Rechercher/remplacer, j'arrive à supprimer manuellement tout le texte rédigé dans cette police. Mais lorsque j'essaye d'enregistrer la manip avec l'enregistreur de macros, j'obtiens une macro qui fait péter quasi tout le texte, quelle que soit la police, plus des perturbations majeures dans les titres.
L'analyse du code de la macro ne m'a rien appris (mais je n'y connais pas grand chose), j'ai juste noté que le nom de la police n'y figurait pas, ce qui me paraît bizarre.
Le même type de macro appliqué non au choix de la police, mais à un autre caractère (la couleur) fonctionne bien, en revanche. Et là, l'identification de la couleur à supprimer figure bien dans le code de la macro.
Je n'ai rien compris ? ou bien s'agit-il d'un gros bug ?
Merci d'avance de votre aide.
cosinus
cosinus
Bonjour cosinus,
Effectivement, bien qu'il soit ton ami (sic) l'enregistreur de macros n'enregistre pas tout !
Tu peux utiliser la macro suivante : ...
Bonsoir,
Merci pour la macro... je l'ai essayée, ça marche pas mal... sauf que ça remplace le texte Lucida en Arial ! Or, je voudrais supprimer purement et simplement le texte en Lucida.
Or voici ce que l'enregistreur de macro m'avais livré (quel bavard!)
Sub Supprimer_Lucida()
Selection.Find.ClearFormatting Selection.Find.Font.Color = wdColorAutomatic Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^?" .Replacement.Text = "" .Forward = True .Wrap = wdFindAsk .Format = True .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub
Du coup, j'ai remplacé dans ta macro .Replacement.Name = "Arial" par .Replacement.Text = ""
et ouhééé ça marche !
Donc merci pour m'avoir mis sur la voie - et par là même permis de faire ma première macro Word !
Sinon, j'ai essayé aussi de faire avec les styles, mais lorsque je supprime un style, ça perturbe la mise en page. Bon, je crois que je vais m'arrêter là pour cette affaire...
A+ pour de nouvelles aventures.
cosinus
-- "une panne peut en cacher une autre" (théorème de la SNCF)
Bonjour cosinus,
Effectivement, bien qu'il soit ton ami (sic) l'enregistreur de macros
n'enregistre pas tout !
Tu peux utiliser la macro suivante :
...
Bonsoir,
Merci pour la macro... je l'ai essayée, ça marche pas mal... sauf que
ça remplace le texte Lucida en Arial ! Or, je voudrais supprimer
purement et simplement le texte en Lucida.
Or voici ce que l'enregistreur de macro m'avais livré (quel bavard!)
Sub Supprimer_Lucida()
Selection.Find.ClearFormatting
Selection.Find.Font.Color = wdColorAutomatic
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^?"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindAsk
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Du coup, j'ai remplacé dans ta macro .Replacement.Name = "Arial"
par .Replacement.Text = ""
et ouhééé ça marche !
Donc merci pour m'avoir mis sur la voie - et par là même permis de
faire ma première macro Word !
Sinon, j'ai essayé aussi de faire avec les styles, mais lorsque je
supprime un style, ça perturbe la mise en page. Bon, je crois que je
vais m'arrêter là pour cette affaire...
A+ pour de nouvelles aventures.
cosinus
--
"une panne peut en cacher une autre" (théorème de la SNCF)
Effectivement, bien qu'il soit ton ami (sic) l'enregistreur de macros n'enregistre pas tout !
Tu peux utiliser la macro suivante : ...
Bonsoir,
Merci pour la macro... je l'ai essayée, ça marche pas mal... sauf que ça remplace le texte Lucida en Arial ! Or, je voudrais supprimer purement et simplement le texte en Lucida.
Or voici ce que l'enregistreur de macro m'avais livré (quel bavard!)
Sub Supprimer_Lucida()
Selection.Find.ClearFormatting Selection.Find.Font.Color = wdColorAutomatic Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^?" .Replacement.Text = "" .Forward = True .Wrap = wdFindAsk .Format = True .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub
Du coup, j'ai remplacé dans ta macro .Replacement.Name = "Arial" par .Replacement.Text = ""
et ouhééé ça marche !
Donc merci pour m'avoir mis sur la voie - et par là même permis de faire ma première macro Word !
Sinon, j'ai essayé aussi de faire avec les styles, mais lorsque je supprime un style, ça perturbe la mise en page. Bon, je crois que je vais m'arrêter là pour cette affaire...
A+ pour de nouvelles aventures.
cosinus
-- "une panne peut en cacher une autre" (théorème de la SNCF)
Tisane
Bonjour "cosinus",
Merci pour la macro... je l'ai essayée, ça marche pas mal... sauf que ça remplace le texte Lucida en Arial ! Or, je voudrais supprimer purement et simplement le texte en Lucida.
Pourquoi dis-tu "En utilisant la fonction Rechercher/remplacer, j'arrive à supprimer manuellement tout le texte rédigé dans cette police."
"Manuellement" ? Après avoir indiqué la police recherchée (Lucida), et en laissant vide la zone de remplacement, puis en cliquant sur [Remplacer tout], l'opération se fait automatiquement et en une seule fois. En tout cas, ce n'est pas plus manuel que de devoir rédiger les lignes de code, exécuter la macro sans oublier au préalable de baisser le niveau de sécurité. Bien entendu, je parle dans le cas d'une opération non répétitive. Quoique avec le rechercher/remplacer, ce soit très rapide... Cette précision au cas où d'autres utilisateurs auraient la même demande mais ne voudraient pas se lancer dans les macros.
Maintenant, si c'était juste par curiosité "intellectuelle", bravo !
-- Tisane
Or voici ce que l'enregistreur de macro m'avais livré (quel bavard!)
Sub Supprimer_Lucida()
Selection.Find.ClearFormatting Selection.Find.Font.Color = wdColorAutomatic Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^?" .Replacement.Text = "" .Forward = True .Wrap = wdFindAsk .Format = True .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub
Du coup, j'ai remplacé dans ta macro .Replacement.Name = "Arial" par .Replacement.Text = ""
et ouhééé ça marche !
Donc merci pour m'avoir mis sur la voie - et par là même permis de faire ma première macro Word !
Sinon, j'ai essayé aussi de faire avec les styles, mais lorsque je supprime un style, ça perturbe la mise en page. Bon, je crois que je vais m'arrêter là pour cette affaire... A+ pour de nouvelles aventures.
cosinus
-- "une panne peut en cacher une autre" (théorème de la SNCF)
Bonjour "cosinus",
Merci pour la macro... je l'ai essayée, ça marche pas mal... sauf que ça
remplace le texte Lucida en Arial ! Or, je voudrais supprimer purement et
simplement le texte en Lucida.
Pourquoi dis-tu "En utilisant la fonction Rechercher/remplacer, j'arrive à
supprimer manuellement tout le texte rédigé dans cette police."
"Manuellement" ? Après avoir indiqué la police recherchée (Lucida), et en
laissant vide la zone de remplacement, puis en cliquant sur [Remplacer
tout], l'opération se fait automatiquement et en une seule fois.
En tout cas, ce n'est pas plus manuel que de devoir rédiger les lignes de
code, exécuter la macro sans oublier au préalable de baisser le niveau de
sécurité.
Bien entendu, je parle dans le cas d'une opération non répétitive. Quoique
avec le rechercher/remplacer, ce soit très rapide...
Cette précision au cas où d'autres utilisateurs auraient la même demande
mais ne voudraient pas se lancer dans les macros.
Maintenant, si c'était juste par curiosité "intellectuelle", bravo !
--
Tisane
Or voici ce que l'enregistreur de macro m'avais livré (quel bavard!)
Sub Supprimer_Lucida()
Selection.Find.ClearFormatting
Selection.Find.Font.Color = wdColorAutomatic
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^?"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindAsk
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Du coup, j'ai remplacé dans ta macro .Replacement.Name = "Arial"
par .Replacement.Text = ""
et ouhééé ça marche !
Donc merci pour m'avoir mis sur la voie - et par là même permis de faire
ma première macro Word !
Sinon, j'ai essayé aussi de faire avec les styles, mais lorsque je
supprime un style, ça perturbe la mise en page. Bon, je crois que je vais
m'arrêter là pour cette affaire...
A+ pour de nouvelles aventures.
cosinus
--
"une panne peut en cacher une autre" (théorème de la SNCF)
Merci pour la macro... je l'ai essayée, ça marche pas mal... sauf que ça remplace le texte Lucida en Arial ! Or, je voudrais supprimer purement et simplement le texte en Lucida.
Pourquoi dis-tu "En utilisant la fonction Rechercher/remplacer, j'arrive à supprimer manuellement tout le texte rédigé dans cette police."
"Manuellement" ? Après avoir indiqué la police recherchée (Lucida), et en laissant vide la zone de remplacement, puis en cliquant sur [Remplacer tout], l'opération se fait automatiquement et en une seule fois. En tout cas, ce n'est pas plus manuel que de devoir rédiger les lignes de code, exécuter la macro sans oublier au préalable de baisser le niveau de sécurité. Bien entendu, je parle dans le cas d'une opération non répétitive. Quoique avec le rechercher/remplacer, ce soit très rapide... Cette précision au cas où d'autres utilisateurs auraient la même demande mais ne voudraient pas se lancer dans les macros.
Maintenant, si c'était juste par curiosité "intellectuelle", bravo !
-- Tisane
Or voici ce que l'enregistreur de macro m'avais livré (quel bavard!)
Sub Supprimer_Lucida()
Selection.Find.ClearFormatting Selection.Find.Font.Color = wdColorAutomatic Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^?" .Replacement.Text = "" .Forward = True .Wrap = wdFindAsk .Format = True .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub
Du coup, j'ai remplacé dans ta macro .Replacement.Name = "Arial" par .Replacement.Text = ""
et ouhééé ça marche !
Donc merci pour m'avoir mis sur la voie - et par là même permis de faire ma première macro Word !
Sinon, j'ai essayé aussi de faire avec les styles, mais lorsque je supprime un style, ça perturbe la mise en page. Bon, je crois que je vais m'arrêter là pour cette affaire... A+ pour de nouvelles aventures.
cosinus
-- "une panne peut en cacher une autre" (théorème de la SNCF)
Circé
Bonjour cosinus
cosinus a exprimé avec précision :
Merci pour la macro... je l'ai essayée, ça marche pas mal... sauf que ça remplace le texte Lucida en Arial ! Or, je voudrais supprimer purement et simplement le texte en Lucida.
Au temps pour moi ! Je n'avais pas compris que tu voulais aussi supprimer le texte !! Ça t'a permis de rentrer dans le mystère des macros ! ;) Un petit article de la faq pour macroteurs débutants (par anacoluthe) : http://faqword.free.fr/articles.php?lng=fr&pg48
et un autre pour tout savoir sur la face cachée du Recherche-Remplace : http://faqword.free.fr/articles.php?lng=fr&pg22
Bonne lecture ! ;)
Circé http://faqword.free.fr
Bonjour cosinus
cosinus a exprimé avec précision :
Merci pour la macro... je l'ai essayée, ça marche pas mal... sauf que ça
remplace le texte Lucida en Arial ! Or, je voudrais supprimer purement et
simplement le texte en Lucida.
Au temps pour moi !
Je n'avais pas compris que tu voulais aussi supprimer le texte !!
Ça t'a permis de rentrer dans le mystère des macros ! ;)
Un petit article de la faq pour macroteurs débutants (par anacoluthe) :
http://faqword.free.fr/articles.php?lng=fr&pg48
et un autre pour tout savoir sur la face cachée du Recherche-Remplace :
http://faqword.free.fr/articles.php?lng=fr&pg22
Merci pour la macro... je l'ai essayée, ça marche pas mal... sauf que ça remplace le texte Lucida en Arial ! Or, je voudrais supprimer purement et simplement le texte en Lucida.
Au temps pour moi ! Je n'avais pas compris que tu voulais aussi supprimer le texte !! Ça t'a permis de rentrer dans le mystère des macros ! ;) Un petit article de la faq pour macroteurs débutants (par anacoluthe) : http://faqword.free.fr/articles.php?lng=fr&pg48
et un autre pour tout savoir sur la face cachée du Recherche-Remplace : http://faqword.free.fr/articles.php?lng=fr&pg22