Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sélection multi-paragraphe...

15 réponses
Avatar
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

10 réponses

1 2
Avatar
Kyrill
Bonjoir PhilTheGap ((c) JièL)

"PhilTheGap" a écrit dans le message de 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 ???

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

Avatar
Geo

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+

Avatar
PhilTheGap
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" a écrit dans le message de
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+





Avatar
Geo
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+
Avatar
PhilTheGap
Bonjour Géo,
"Geo" a écrit dans le message de
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

Avatar
Geo

.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+

Avatar
PhilTheGap
Merci Geo,
"Geo" a écrit dans le message de
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 !

Avatar
Geo
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+

Avatar
PhilTheGap
"Geo" a écrit dans le message de
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...


Avatar
Geo

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+

1 2