Je me suis lancé dans la création d'une macro pour revoir la typographie des
caractères de ponctuations et des espaces.
Je recherche les espaces oridinaires suivi d'un signe de ponctuation double
(! : ; ?) et je remplace les espaces par des espaces insécables. Là ça
marche. J'ai juste rajouté quelques petites choses qui marchent.
Le trop d'espaces fonctionne aussi.
Je me heurte à un problème : quand il n'y a pas d'espace avant les signes de
ponctuations doubles, ils ne sont pas traités j'ai essayé en rajoutant pour
le ? :
Mais ça ne marche pas
D'autre part ma macro est un peu jouflue, et comme je n'y entends pas grand
chose si un AMIS pouvait me la mettre eu régime, merci de votre aide.
Petit Denis
Je place en suite la macro complète actuelle :
Sub Remplacement()
'
' Remplacement Macro
' Macro enregistrée le 20/01/2004 par Lasperches Denis
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " ?"
.Replacement.Text = "^s?"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " !"
.Replacement.Text = "^s!"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " :"
.Replacement.Text = "^s:"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " ;"
.Replacement.Text = "^s;"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " ,"
.Replacement.Text = ","
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " ."
.Replacement.Text = "."
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " )"
.Replacement.Text = ")"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "( "
.Replacement.Text = "("
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " "
.Replacement.Text = " "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
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
Geo
Bonjour Denis,
Bonjour,
Je me suis lancé dans la création d'une macro pour revoir la typographie des caractères de ponctuations et des espaces.
Je recherche les espaces oridinaires suivi d'un signe de ponctuation double (! : ; ?) et je remplace les espaces par des espaces insécables. Là ça marche. J'ai juste rajouté quelques petites choses qui marchent. Le trop d'espaces fonctionne aussi. Je me heurte à un problème : quand il n'y a pas d'espace avant les signes de ponctuations doubles, ils ne sont pas traités
Puisque tu sais gérer l'abondance, le plus simple c'est d'en mettre un, même quand il y en a déjà un ou plusieurs.
j'ai essayé en rajoutant pour le ? : [...]
D'autre part ma macro est un peu jouflue, et comme je n'y entends pas
grand chose si un AMIS pouvait me la mettre eu régime, merci de votre
aide.
Je n'aurais pas la prétention de corriger ta copie :-) c'est vrai que l'aide n'est pas du tout explicite sur les valeurs prise par défaut. Mais bon ça te donne l'impression d'avoir écrit une grande macro, tellement qu'elle a déclenché mon filtre anti messages long.
--
A+
Bonjour Denis,
Bonjour,
Je me suis lancé dans la création d'une macro pour revoir la
typographie des caractères de ponctuations et des espaces.
Je recherche les espaces oridinaires suivi d'un signe de ponctuation
double (! : ; ?) et je remplace les espaces par des espaces
insécables. Là ça marche. J'ai juste rajouté quelques petites choses
qui marchent.
Le trop d'espaces fonctionne aussi.
Je me heurte à un problème : quand il n'y a pas d'espace avant les
signes de ponctuations doubles, ils ne sont pas traités
Puisque tu sais gérer l'abondance, le plus simple c'est d'en mettre
un,
même quand il y en a déjà un ou plusieurs.
j'ai essayé en rajoutant pour le ? :
[...]
D'autre part ma macro est un peu jouflue, et comme je n'y entends
pas
grand chose si un AMIS pouvait me la mettre eu régime, merci de
votre
aide.
Je n'aurais pas la prétention de corriger ta copie :-)
c'est vrai que l'aide n'est pas du tout explicite sur les valeurs
prise par défaut.
Mais bon ça te donne l'impression d'avoir écrit une grande macro,
tellement qu'elle a déclenché mon filtre anti messages long.
Je me suis lancé dans la création d'une macro pour revoir la typographie des caractères de ponctuations et des espaces.
Je recherche les espaces oridinaires suivi d'un signe de ponctuation double (! : ; ?) et je remplace les espaces par des espaces insécables. Là ça marche. J'ai juste rajouté quelques petites choses qui marchent. Le trop d'espaces fonctionne aussi. Je me heurte à un problème : quand il n'y a pas d'espace avant les signes de ponctuations doubles, ils ne sont pas traités
Puisque tu sais gérer l'abondance, le plus simple c'est d'en mettre un, même quand il y en a déjà un ou plusieurs.
j'ai essayé en rajoutant pour le ? : [...]
D'autre part ma macro est un peu jouflue, et comme je n'y entends pas
grand chose si un AMIS pouvait me la mettre eu régime, merci de votre
aide.
Je n'aurais pas la prétention de corriger ta copie :-) c'est vrai que l'aide n'est pas du tout explicite sur les valeurs prise par défaut. Mais bon ça te donne l'impression d'avoir écrit une grande macro, tellement qu'elle a déclenché mon filtre anti messages long.
--
A+
Anacoluthe
Bonjour !
Utilise les caractères génériques :
With Selection.Find .ClearFormatting .Replacement.ClearFormatting .Text = "(?)?" .Replacement.Text = "1^s?" .Wrap = wdFindContinue .MatchWildcards = True .Execute Replace:=wdReplaceAll End With
Outre des options False inutiles, il est possible de simplifier la bigmacro finale en groupant plusieurs 'passes' en une seule (rechercher caractère ! ou ? ou : ou ; etc ) mais bon, si ça marche ainsi...
Anacoluthe « Ne perds jamais ton ignorance, tu ne pourras pas la remplacer. » - Erich Maria REMARQUE
'Lasperches Denis' nous a écrit ...
Bonjour,
Je me suis lancé dans la création d'une macro pour revoir la typographie des caractères de ponctuations et des espaces.
Je recherche les espaces oridinaires suivi d'un signe de ponctuation double (! : ; ?) et je remplace les espaces par des espaces insécables. Là ça marche. J'ai juste rajouté quelques petites choses qui marchent. Le trop d'espaces fonctionne aussi. Je me heurte à un problème : quand il n'y a pas d'espace avant les signes de ponctuations doubles, ils ne sont pas traités j'ai essayé en rajoutant pour le ? :
Mais ça ne marche pas D'autre part ma macro est un peu jouflue, et comme je n'y entends pas grand chose si un AMIS pouvait me la mettre eu régime, merci de votre aide.
Petit Denis
Je place en suite la macro complète actuelle : Sub Remplacement() ' ' Remplacement Macro ' Macro enregistrée le 20/01/2004 par Lasperches Denis ' Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = " ?" .Replacement.Text = "^s?" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " !" .Replacement.Text = "^s!" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " :" .Replacement.Text = "^s:" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " ;" .Replacement.Text = "^s;" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " ," .Replacement.Text = "," .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " ." .Replacement.Text = "." .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " )" .Replacement.Text = ")" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = "( " .Replacement.Text = "(" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " " .Replacement.Text = " " .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub
Bonjour !
Utilise les caractères génériques :
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "(?)?"
.Replacement.Text = "1^s?"
.Wrap = wdFindContinue
.MatchWildcards = True
.Execute Replace:=wdReplaceAll
End With
Outre des options False inutiles, il est possible
de simplifier la bigmacro finale en groupant plusieurs
'passes' en une seule (rechercher caractère ! ou ?
ou : ou ; etc ) mais bon, si ça marche ainsi...
Anacoluthe
« Ne perds jamais ton ignorance,
tu ne pourras pas la remplacer. »
- Erich Maria REMARQUE
'Lasperches Denis' nous a écrit ...
Bonjour,
Je me suis lancé dans la création d'une macro pour revoir la typographie des
caractères de ponctuations et des espaces.
Je recherche les espaces oridinaires suivi d'un signe de ponctuation double
(! : ; ?) et je remplace les espaces par des espaces insécables. Là ça
marche. J'ai juste rajouté quelques petites choses qui marchent.
Le trop d'espaces fonctionne aussi.
Je me heurte à un problème : quand il n'y a pas d'espace avant les signes de
ponctuations doubles, ils ne sont pas traités j'ai essayé en rajoutant pour
le ? :
Mais ça ne marche pas
D'autre part ma macro est un peu jouflue, et comme je n'y entends pas grand
chose si un AMIS pouvait me la mettre eu régime, merci de votre aide.
Petit Denis
Je place en suite la macro complète actuelle :
Sub Remplacement()
'
' Remplacement Macro
' Macro enregistrée le 20/01/2004 par Lasperches Denis
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " ?"
.Replacement.Text = "^s?"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " !"
.Replacement.Text = "^s!"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " :"
.Replacement.Text = "^s:"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " ;"
.Replacement.Text = "^s;"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " ,"
.Replacement.Text = ","
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " ."
.Replacement.Text = "."
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " )"
.Replacement.Text = ")"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "( "
.Replacement.Text = "("
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " "
.Replacement.Text = " "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
With Selection.Find .ClearFormatting .Replacement.ClearFormatting .Text = "(?)?" .Replacement.Text = "1^s?" .Wrap = wdFindContinue .MatchWildcards = True .Execute Replace:=wdReplaceAll End With
Outre des options False inutiles, il est possible de simplifier la bigmacro finale en groupant plusieurs 'passes' en une seule (rechercher caractère ! ou ? ou : ou ; etc ) mais bon, si ça marche ainsi...
Anacoluthe « Ne perds jamais ton ignorance, tu ne pourras pas la remplacer. » - Erich Maria REMARQUE
'Lasperches Denis' nous a écrit ...
Bonjour,
Je me suis lancé dans la création d'une macro pour revoir la typographie des caractères de ponctuations et des espaces.
Je recherche les espaces oridinaires suivi d'un signe de ponctuation double (! : ; ?) et je remplace les espaces par des espaces insécables. Là ça marche. J'ai juste rajouté quelques petites choses qui marchent. Le trop d'espaces fonctionne aussi. Je me heurte à un problème : quand il n'y a pas d'espace avant les signes de ponctuations doubles, ils ne sont pas traités j'ai essayé en rajoutant pour le ? :
Mais ça ne marche pas D'autre part ma macro est un peu jouflue, et comme je n'y entends pas grand chose si un AMIS pouvait me la mettre eu régime, merci de votre aide.
Petit Denis
Je place en suite la macro complète actuelle : Sub Remplacement() ' ' Remplacement Macro ' Macro enregistrée le 20/01/2004 par Lasperches Denis ' Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = " ?" .Replacement.Text = "^s?" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " !" .Replacement.Text = "^s!" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " :" .Replacement.Text = "^s:" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " ;" .Replacement.Text = "^s;" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " ," .Replacement.Text = "," .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " ." .Replacement.Text = "." .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " )" .Replacement.Text = ")" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = "( " .Replacement.Text = "(" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " " .Replacement.Text = " " .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub
Lasperches Denis
Bonsoir Anacoluthe wrote:
Bonjour !
Utilise les caractères génériques :
With Selection.Find .ClearFormatting .Replacement.ClearFormatting .Text = "(?)?" .Replacement.Text = "1^s?" .Wrap = wdFindContinue .MatchWildcards = True .Execute Replace:=wdReplaceAll End With
Donc si je pige, il faut que je refasse le même type de bloc pour toutes les marques de ponctuations doubles ?
Merci de cette rapidité
Petit Denis
Bonsoir
Anacoluthe wrote:
Bonjour !
Utilise les caractères génériques :
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "(?)?"
.Replacement.Text = "1^s?"
.Wrap = wdFindContinue
.MatchWildcards = True
.Execute Replace:=wdReplaceAll
End With
Donc si je pige, il faut que je refasse le même type de bloc pour toutes les
marques de ponctuations doubles ?
With Selection.Find .ClearFormatting .Replacement.ClearFormatting .Text = "(?)?" .Replacement.Text = "1^s?" .Wrap = wdFindContinue .MatchWildcards = True .Execute Replace:=wdReplaceAll End With
Donc si je pige, il faut que je refasse le même type de bloc pour toutes les marques de ponctuations doubles ?
Merci de cette rapidité
Petit Denis
J Laroche
Lasperches Denis wrote on 2004/01/21 10:56:
Bonjour,
Je me suis lancé dans la création d'une macro pour revoir la typographie des caractères de ponctuations et des espaces.
Je recherche les espaces oridinaires suivi d'un signe de ponctuation double (! : ; ?) et je remplace les espaces par des espaces insécables. Là ça marche. J'ai juste rajouté quelques petites choses qui marchent. Le trop d'espaces fonctionne aussi. Je me heurte à un problème : quand il n'y a pas d'espace avant les signes de ponctuations doubles, ils ne sont pas traités j'ai essayé en rajoutant pour le ? :
Mais ça ne marche pas D'autre part ma macro est un peu jouflue, et comme je n'y entends pas grand chose si un AMIS pouvait me la mettre eu régime, merci de votre aide.
Petit Denis
Je place en suite la macro complète actuelle : Sub Remplacement() ' ' Remplacement Macro ' Macro enregistrée le 20/01/2004 par Lasperches Denis ' Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = " ?" .Replacement.Text = "^s?" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " !" .Replacement.Text = "^s!" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " :" .Replacement.Text = "^s:" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " ;" .Replacement.Text = "^s;" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " ," .Replacement.Text = "," .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " ." .Replacement.Text = "." .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " )" .Replacement.Text = ")" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = "( " .Replacement.Text = "(" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " " .Replacement.Text = " " .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub
Ceci fonctionne sur le Mac. La clé est probablement .MatchWildcards = True. Je ne sais pas si les «wildcards» sont les mêmes sur Mac et PC, peut-être peux-tu garder les tiens, sinon essaie les miens.
Je me suis lancé dans la création d'une macro pour revoir la typographie des
caractères de ponctuations et des espaces.
Je recherche les espaces oridinaires suivi d'un signe de ponctuation double
(! : ; ?) et je remplace les espaces par des espaces insécables. Là ça
marche. J'ai juste rajouté quelques petites choses qui marchent.
Le trop d'espaces fonctionne aussi.
Je me heurte à un problème : quand il n'y a pas d'espace avant les signes de
ponctuations doubles, ils ne sont pas traités j'ai essayé en rajoutant pour
le ? :
Mais ça ne marche pas
D'autre part ma macro est un peu jouflue, et comme je n'y entends pas grand
chose si un AMIS pouvait me la mettre eu régime, merci de votre aide.
Petit Denis
Je place en suite la macro complète actuelle :
Sub Remplacement()
'
' Remplacement Macro
' Macro enregistrée le 20/01/2004 par Lasperches Denis
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " ?"
.Replacement.Text = "^s?"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " !"
.Replacement.Text = "^s!"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " :"
.Replacement.Text = "^s:"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " ;"
.Replacement.Text = "^s;"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " ,"
.Replacement.Text = ","
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " ."
.Replacement.Text = "."
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " )"
.Replacement.Text = ")"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = "( "
.Replacement.Text = "("
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
With Selection.Find
.Text = " "
.Replacement.Text = " "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Ceci fonctionne sur le Mac. La clé est probablement .MatchWildcards = True.
Je ne sais pas si les «wildcards» sont les mêmes sur Mac et PC, peut-être
peux-tu garder les tiens, sinon essaie les miens.
Je me suis lancé dans la création d'une macro pour revoir la typographie des caractères de ponctuations et des espaces.
Je recherche les espaces oridinaires suivi d'un signe de ponctuation double (! : ; ?) et je remplace les espaces par des espaces insécables. Là ça marche. J'ai juste rajouté quelques petites choses qui marchent. Le trop d'espaces fonctionne aussi. Je me heurte à un problème : quand il n'y a pas d'espace avant les signes de ponctuations doubles, ils ne sont pas traités j'ai essayé en rajoutant pour le ? :
Mais ça ne marche pas D'autre part ma macro est un peu jouflue, et comme je n'y entends pas grand chose si un AMIS pouvait me la mettre eu régime, merci de votre aide.
Petit Denis
Je place en suite la macro complète actuelle : Sub Remplacement() ' ' Remplacement Macro ' Macro enregistrée le 20/01/2004 par Lasperches Denis ' Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = " ?" .Replacement.Text = "^s?" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " !" .Replacement.Text = "^s!" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " :" .Replacement.Text = "^s:" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " ;" .Replacement.Text = "^s;" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " ," .Replacement.Text = "," .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " ." .Replacement.Text = "." .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " )" .Replacement.Text = ")" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = "( " .Replacement.Text = "(" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = " " .Replacement.Text = " " .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub
Ceci fonctionne sur le Mac. La clé est probablement .MatchWildcards = True. Je ne sais pas si les «wildcards» sont les mêmes sur Mac et PC, peut-être peux-tu garder les tiens, sinon essaie les miens.
Donc si je pige, il faut que je refasse le même type de bloc pour toutes les marques de ponctuations doubles ?
C'est le nombre de lignes qui t'embête ? Je crois qu'on peut mettre plusieurs commandes sur la même ligne séparées par un ; je crois, mais j'ai pas vérifié On peut aussi faire une boucle.
--
A+
Bonjour Denis,
Donc si je pige, il faut que je refasse le même type de bloc pour
toutes les marques de ponctuations doubles ?
C'est le nombre de lignes qui t'embête ?
Je crois qu'on peut mettre plusieurs commandes sur la même ligne
séparées par un ; je crois, mais j'ai pas vérifié
On peut aussi faire une boucle.
Donc si je pige, il faut que je refasse le même type de bloc pour toutes les marques de ponctuations doubles ?
C'est le nombre de lignes qui t'embête ? Je crois qu'on peut mettre plusieurs commandes sur la même ligne séparées par un ; je crois, mais j'ai pas vérifié On peut aussi faire une boucle.