Recherche Remplacer passer du maigre au gras

Le
Le Nordiste
Bonjour,

C'est ma journée R&R :

Comment faire pour remplacer un mot ( ou expression) en maigre par le
même graissé ?
Si possible par R&R bien évidemment sinon autrement en automatique
bien sur.

Remerciements anticipés pour votyre collaboration.

Le Nordiste
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Geo
Le #17334231
Bonjour

C'est ma journée R&R :



C'est une merveille

Comment faire pour remplacer un mot ( ou expression) en maigre par le
même graissé ?
Si possible par R&R bien évidemment sinon autrement en automatique
bien sur.



Faites la recherche avec le mot en précisant dans le format la police
avec "Non gras"
Le champ de remplacement vous mettez ^& qui (de mémoire) représente la
chaîne recherchée et vous précisez dans le format : gras.

--
A+
Le Nordiste
Le #17336021
> C'est une merveille


Je dirais même plus : " C'est une merveille"

Ça marche !


Mais par l'enregistreur de macro je n'arrive pas initialiser mon R&R
pour remplacer par GRAS,
Il n'y a pas trace de quoi que ce soit de cet ordre.
Et je voudrais faire ça systématiquement en lançant ma macro.

Merci de ta collaboration Géo
Geo
Le #17338981
Bonjour

Mais par l'enregistreur de macro je n'arrive pas initialiser mon R&R
pour remplacer par GRAS,
Il n'y a pas trace de quoi que ce soit de cet ordre.
Et je voudrais faire ça systématiquement en lançant ma macro.



avec un bout de code ça aurait été plus sûr
Mais il faut ajouter qqch comme :
.Font.Bold = True
au même niveau que :
.Text = "mot à dégraisser"

--
A+
Le Nordiste
Le #17342221
Bonjour Géo,

J'ai insérer le     .Font.Bold = True dans mon code :

'''''''''''''''''''''''''''''''''''''''''''''''''''''''' Mon code
''''''''''''''''''''''''''''''''
With Selection.Find
.Text = strAvantRech & strSQL & strAprésRech
.Replacement.Text = strAvantRemp & strSQL & strAprésRemp
.Font.Bold = False ' pour graisser le mot
.Forward = True
.Wrap = wdFindContinue
.Format = True 'False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
'''''''''''''''''''''''''''''''''''''''''''''''''''''''' Mon code
''''''''''''''''''''''''''''''''

j'ai essayé les 4 combinaisons .Font.bold et .Format : sans succés.


Je me suis peut étre mal exprimé :

Mon texte à travailler est constitué de N requêtes SQL, que j'insér e
dans un document.

Je désire en sortie de routine que :
1) l'ensemble de mes requêtes soit indenté : ça c'est OK
( à part quelques fignolages et cas tordus à régler à la main
pour le moment.)

2) Les mots réservés (SELECT, AS, INTO, FROM, WHERE, … ) soit
facilement repérables
C'est pourquoi j'ai pensé à les graisser ou les passer en bleu ou
rouge -peu importe-



J'ai défini un signet couvrant l'ensemble des requêtes. puis ai écrit
du code VB :

1) sélectionne le signet
2) lance toute une série de R&R ( quelle merveille cet
outil !)
pour les mots réservés SQL à fin de créer une indentati on.
Recherche de l'écriture brute de la requête issu
d'Access
Remplace par l'écriture souhaitée, en jouant sur la
"ponctuation"

Il y a donc deux voies pour cela :
a) Soit il est possible de formater lors du Remplacer
b) soit de repasser aprés sur chacun des mots réservés pour
le formater.

Je ne sais faire ni l'un ni l'autre.
Je pratique plutot VB sous Excel ou Access.

Un grand merci pour le temps que tu consavre à mon problême.

Le Nordiste
Geo
Le #17342841
Bonjour

Décidément c'était pas mon jour
J'ai tout lu à l'envers :

Voici ce que donne l'enregistreur de macro :
Selection.Find.ClearFormatting
Selection.Find.Font.Bold = False
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Bold = False

Les lignes ClearFormatting sont nécessaires.

Je désire en sortie de routine que :
1) l'ensemble de mes requêtes soit indenté : ça c'est OK
( à part quelques fignolages et cas tordus à régler à la main
pour le moment.)



Très bien, ce n'est pas le plus simple à faire

2) Les mots réservés (SELECT, AS, INTO, FROM, WHERE, … ) soit
facilement repérables
C'est pourquoi j'ai pensé à les graisser ou les passer en bleu ou
rouge -peu importe-



Ça dépend si vous devez refaire cette opération régulièrement, mais il
y a une vieille astuce qui consiste à utiliser un logiciel qui fait ça.
Voici une requête affichée dans Foxpro et recopiée dans Word.

http://cjoint.com/?jAjaLuRRJo

Il y a donc deux voies pour cela :
a) Soit il est possible de formater lors du Remplacer
b) soit de repasser aprés sur chacun des mots réservés pour
le formater.

Je ne sais faire ni l'un ni l'autre.



Avec le début de ce message la solution a) ne devrait plus poser
problème.
Perso j'aurais plutôt fait la solution b), même si elle est moins
performante car elle permet de traiter séparément les deux problèmes.

J'avais fait une macro pour colorier le vba recopié dans Word, on
devrait pouvoir l'adapter.

--
A+
Le Nordiste
Le #17344001
Géo,

Mon enregistreur ne me donne rien de tout cela,
comment fais tu ?

J'ai inséré dans :

With Selection.Find
.Text = strAvantRech & strSQL & strAprésRech

.ClearFormatting '???
.Font.Bold = False '??

.Replacement.Text = strAvantRemp & strSQL & strAprésRemp

.Replacement.ClearFormatting '???
.Replacement.Font.Bold = False '???

.Font.Bold = False ' pour graisser le mot
.Forward = True
.Wrap = wdFindContinue
.Format = True 'False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll

mais ça ne marche pas.
Geo
Le #17344211
Bonjour

Mon enregistreur ne me donne rien de tout cela,
comment fais tu ?



J'utilise les raccourcis clavier (CTRL+H) et la souris pour les menus

.ClearFormatting


Non, il faut le laisser en dehors du with

Recopiez simplement le code fourni par l'enregistreur :
Selection.Find.ClearFormatting
Selection.Find.Font.Bold = True
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Bold = False
With Selection.Find
.Text = "rty"
.Replacement.Text = "^&"
.Forward = True
.Wrap = wdFindContinue
etc

--
A+
Le Nordiste
Le #17345361
Géo merci pour ta patience,


Voici ma sous routine :
Sub RECHERCHE_et_REMPLACE(ByVal strSQL As String, _
ByVal strAvantRech As String, ByVal
strAprésRech As String, _
ByVal strAvantRemp As String, ByVal
strAprésRemp As String)

'?????
Selection.Find.ClearFormatting
Selection.Find.Font.Bold = False
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Bold = False

'??????
With Selection.Find
.Text = strAvantRech & strSQL & strAprésRech
.Replacement.Text = strAvantRemp & strSQL & strAprésRemp
.Font.Bold = False ' pour graisser le mot
.Forward = True
.Wrap = wdFindContinue
.Format = True 'False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll

Selection.Find.Execute Replace:=wdReplaceAll


End Sub

Et je n'obtiens pas l'effet attendu.


Pour l'enregistreur de macro je fais aussi par Ctrl+H et la souris
mais je n'ai pas les 4 lignes car je ne sais pas les obtenir par le
menu.
Geo
Le #17345551
Bonjour

Pour l'enregistreur de macro je fais aussi par Ctrl+H et la souris
mais je n'ai pas les 4 lignes car je ne sais pas les obtenir par le
menu.



Il faut faire CTRH + H au clavier pour ouvrir la boite de dialogue de
Rechercher/remplacer, après on clique sur ce qui va bien et finir par
le bouton "Remplacer tout" puis le X.
Voici le résultat

Sub Macro1()
'
' Macro1 Macro
'
'
Selection.Find.ClearFormatting
Selection.Find.Font.Bold = True
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Bold = False
With Selection.Find
.Text = "rty"
.Replacement.Text = "^&"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

--
A+
Geo
Le #17345671
Re

Sub RECHERCHE_et_REMPLACE(ByVal strSQL As String, _
ByVal strAvantRech As String, ByVal
strAprésRech As String, _
ByVal strAvantRemp As String, ByVal
strAprésRemp As String



Dim MaPlage As Range
Set MaPlage = ActiveDocument.Bookmarks("MesSQL").Range
MaPlage.Find.ClearFormatting
MaPlage.Find.Font.Bold = False
MaPlage.Find.Replacement.ClearFormatting
MaPlage.Find.Replacement.Font.Bold = False
MaPlage.Find.Replacement.Font.Color = wdColorBlue
With MaPlage.Find
.Text = strAvantRech & strSQL & strAprésRech


.Replacement.Text = "^&"

.Forward = True
.Wrap = wdFindContinue
.Format = True 'False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With


MaPlage.Find.Execute Replace:=wdReplaceAll

End Sub



Pas testé.

--
A+
Publicité
Poster une réponse
Anonyme