Sélection multi-paragraphe...

Le
PhilTheGap
Bonjour,

comment sélectionner en une seule fois dans un document un texte ayant
certaines caractéristiques (de polices, de tailles) ?
Avec les fonctions Rechercher, je vois pas, avec une macro ???

Merci
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
Kyrill
Le #1885433
Bonjoir PhilTheGap ((c) JièL)

"PhilTheGap"
Bonjour,

comment sélectionner en une seule fois dans un document un texte ayant
certaines caractéristiques (de polices, de tailles...) ?
Avec les fonctions Rechercher, je vois pas, avec une macro ???

Merci


Dans l'option de recherche cliquer sur le bouton plus les options de format
apparaissent

Sinon sur la version 2003 si vous afficher le volet office

- Se positionner sur le volet "Styles et mise en forme"
- Se positionner dans le texte concerné puis faire un clic droit sur la
rubrique mise en forme du texte
selectionné du volet office
- Choisir "Selectionner toutes les occurences"
--
Bonne journée

Kyrill

Geo
Le #1885432

Bonjour,

comment sélectionner en une seule fois dans un document un texte ayant certaines
caractéristiques (de polices, de tailles...) ?
Avec les fonctions Rechercher, je vois pas, avec une macro ???


Quelle version ?

Avez-vous regardé la pique-notes ?

--
A+

PhilTheGap
Le #1885431
Voilà ce que je veux:
Private Sub dudule()
Selection.HomeKey unit:=wdStory
ScreenUpdating = False
With Selection.find
.ClearFormatting
.Replacement.ClearFormatting
.Replacement.Font.Bold = True
.MatchWildcards = True
.Text = "((*))"
.Replacement.Text = "1"
.Forward = True
.Execute Replace:=wdReplaceAll
End With
End Sub

Mais il faudrait que ca fonctionne non pour des parenthèses, mais pour des
guillemets. Or je ne sais pas comment faire pour faire comprendre à Visual
Basic que je recherche un guillemet ("" et " ne fonctionnent pas !).

"Geo" news:

Bonjour,

comment sélectionner en une seule fois dans un document un texte ayant
certaines caractéristiques (de polices, de tailles...) ?
Avec les fonctions Rechercher, je vois pas, avec une macro ???


Quelle version ?

Avez-vous regardé la pique-notes ?

--
A+





Geo
Le #1885938
Bonjour
Vous pouvez remplacer un caractère par CHR() de sa valeur,
par exemple :
" = chr(34)

Pour remplacer la première et la dernière parenthèse par une apostrophe
:
.Text = chr(34) & "(*)" & chr(34)

--
A+
PhilTheGap
Le #1963992
Bonjour Géo,
"Geo" news:
Bonjour
Vous pouvez remplacer un caractère par CHR() de sa valeur,
par exemple :
" = chr(34)

Pour remplacer la première et la dernière parenthèse par une apostrophe :
.Text = chr(34) & "(*)" & chr(34)
J'ai essayé ceci:

Sub Ortho()
Selection.HomeKey unit:=wdStory
ScreenUpdating = False
With Selection.Find
.ClearFormatting
.Replacement.Font.Bold = True
.Replacement.Application.CheckLanguage = False
.MatchWildcards = True
.Text = "(&chr(34)&*&chr(34)&)"
.Replacement.Text = "1"
.Forward = True
.Execute Replace:=wdReplaceAll
End With
End Sub

et j'ai une erreur à l'exécution... Bref, j'ai un peu du mal !!!
De plus j'aimerais aussi remplacer le texte entre guillemets << et >> (ceux
de Word, ce doit être des caractères spéciaux).

Philippe

Geo
Le #1964535

.Text = "(&chr(34)&*&chr(34)&)"

et j'ai une erreur à l'exécution... Bref, j'ai un peu du mal !!!
CHR(34) est une chaîne de caractères, il ne doit donc pas apparaître

entre les guillemets.
Dans votre cas ce serait :

.Text = "(" & chr(34) & "*" & chr(34)& ")"
Qui correspond à ( puis " puis * puis " puis ), le tout mis bout à bout
par les &.

Dans ces cas là mieux vaut passer par une variable ce qui permet d'en
vérifier le contenu.
Sub Ortho()
Dim T As String
T = "(" & Chr(34) & "*" & Chr(34) & ")"
Debug.Print T
Selection.HomeKey unit:=wdStory
Application.ScreenUpdating = False
With Selection.Find
.ClearFormatting
.Replacement.Font.Bold = True
.Replacement.Application.CheckLanguage = False
.MatchWildcards = True
.Text = T
.Replacement.Text = "1"
.Forward = True
.Execute Replace:=wdReplaceAll
End With
End Sub

Pour des guillemets :
T = "(" & Chr(171) & "*" & Chr(187) & ")"

Si chaque guillemet ouvrant est suivi d'une espace insécable et chaque
ouvrant précédé d'un espace insécable :
T = "(" & Chr(171) & Chr(160) & "*" & Chr(160) & Chr(187) & ")"

--
A+

PhilTheGap
Le #1964808
Merci Geo,
"Geo" news:
CHR(34) est une chaîne de caractères, il ne doit donc pas apparaître entre
les guillemets.
Dans votre cas ce serait :

.Text = "(" & chr(34) & "*" & chr(34)& ")"
Qui correspond à ( puis " puis * puis " puis ), le tout mis bout à bout
[...]

Il ne me reste donc plus qu'à inhiber la correction orthographique. J'ai
essayé avec ceci:
.Selection.NoProofing = False
et ceci
Application.CheckLanguage = False

mais cela ne me parait pas fonctionner !

Geo
Le #1964967
Re
Il ne me reste donc plus qu'à inhiber la correction orthographique. J'ai essayé avec
ceci:
.Selection.NoProofing = False


C'est l'inverse, voici un exemple donné dans l'aide :
"Cet exemple montre comment marquer la sélection que le vérificateur
d'orthographe et de grammaire doit ignorer.
Selection.Range.NoProofing = True "

--
A+

PhilTheGap
Le #1964965
"Geo" news:
Re
Il ne me reste donc plus qu'à inhiber la correction orthographique. J'ai
essayé avec ceci:
.Selection.NoProofing = False


C'est l'inverse, voici un exemple donné dans l'aide :
"Cet exemple montre comment marquer la sélection que le vérificateur
d'orthographe et de grammaire doit ignorer.
Selection.Range.NoProofing = True "
Oui je me suis gourré, mais je n'arrive pas à insérer ceci dans mon code (ou

plutôt ca ne fait apparemment rien):

Sub Ortho()
'Débraye la correction orthographique pour les mots entre guillemets
Dim T As String
Selection.HomeKey Unit:=wdStory
Application.ScreenUpdating = False
Selection.Range.NoProofing = True
'Si chaque guillemet ouvrant << est suivi d'une espace insécable et chaque
'fermant >> précédé d'un espace insécable :
T = "(" & Chr(171) & Chr(160) & "*" & Chr(160) & Chr(187) & ")"
Debug.Print T
With Selection.Find
.MatchWildcards = True
.Text = T
.Replacement.Text = "1"
.Forward = True
.NoProofing = True <--------------------
.Execute Replace:=wdReplaceAll
End With

De même :
Selection.Range.NoProofing = True <---------------------------

ne fait rien...


Geo
Le #1964963

Oui je me suis gourré, mais je n'arrive pas à insérer ceci dans mon code (ou plutôt ca
ne fait apparemment rien):


Ca s'applique à la sélection en cours quand on passe sur ce code,
qu'est-ce que vous voulez faire exactement ?

--
A+

Publicité
Poster une réponse
Anonyme