OVH Cloud OVH Cloud

Bug du Remplacer tout.

24 réponses
Avatar
Mersenne
Bonsoir.

D'ordinaire, quand on remplace toutes les occurrences d'une certaine chaîne
par une autre chaîne dans une zone sélectionnée, cette zone reste
sélectionnée (sauf, évidemment, si les remplacements ont pour effet de
l'effacer entièrement).

Si vous avez compté là-dessus dans une macro, je vous conseille de mettre un
signet sur la zone sélectionnée et de sélectionner ce signet après le
remplacement, au moins dans les Word 2002 et 2003..

Exemple : créez un nouveau document, tapez-y deux blancs puis le caractère a
et sélectionnez ces trois caractères.
Exécutez ensuit cette macro :
Selection.Find.Execute FindText:=" ", Forward:=True, ReplaceWith:=" ",
Replace:=wdReplaceAll
(remplacement général de deux blancs par un).
La partie qui était sélectionnée ne l'est plus.

J'attends les injures des Anacoluthe et des Clément Marcotte.

Mersenne.

10 réponses

1 2 3
Avatar
Lola
"Mersenne" a écrit dans le message de
news:
Bonsoir.

D'ordinaire, quand on remplace toutes les occurrences d'une certaine
chaîne

par une autre chaîne dans une zone sélectionnée, cette zone reste
sélectionnée (sauf, évidemment, si les remplacements ont pour effet
de

l'effacer entièrement).

Si vous avez compté là-dessus dans une macro, je vous conseille de
mettre un

signet sur la zone sélectionnée et de sélectionner ce signet après
le

remplacement, au moins dans les Word 2002 et 2003..

Exemple : créez un nouveau document, tapez-y deux blancs puis le
caractère a

et sélectionnez ces trois caractères.
Exécutez ensuit cette macro :
Selection.Find.Execute FindText:=" ", Forward:=True, ReplaceWith:="
",

Replace:=wdReplaceAll
(remplacement général de deux blancs par un).
La partie qui était sélectionnée ne l'est plus.

J'attends les injures des Anacoluthe et des Clément Marcotte.

Mersenne.




Bonsoir,

1) L'utilisation à bon escient de «Rechercher/Remplacer» vous
permettrait, à mon humble avis, de vous passer de macros
superfétatoires.
2) C'est, du moins, ce que j'ai retenu des suggestions que m'ont
généreusement prodigué ici Anacoluthe, Clément, Circé et bien
d'autres.
De combien de «bugs» aurais-je cru avoir été la victime sans leurs
conseils, quand ma connaissance imparfaite de Word était seule en
cause ?

Laissez-moi vous rappeler ceci : les gens qui viennent poser des
questions sur ce forum sont des utilisateurs de Word (par choix et/ ou
obligation) qui cherchent à progresser dans son utilisation. Ceux qui
leur répondent le font bénévolement, parce qu'ils ont des
connaissances et trouvent normal de les partager.
Si, comme c'est votre droit, vous n'appréciez pas ce logiciel, faites
part de vos griefs à la société qui l'a conçu et cessez, s'il vous
plaît, de dévoyer l'esprit de m.p.f.w.

Merci.
--
Ich bin die fesche Lola,
der Liebling der Saison.

Avatar
JièL Goubert
Bonjoir(c) Lola


Merci.


clap clap clap.... Merci à toi

et pis
Selection.Find.Execute FindText:=" {2,}", Forward:=True, Wrap:=
wdFindContinue, ReplaceWith:=" ", Replace:=wdReplaceAll
ne nécessite pas de macro :-), ca fait tout en une seule fois (merci
Anacoluthe, c'est lui qui m'a donné cette astuce quand je voulais perdre
des points sur mon permis AMIS ;-) )

--
JièL / Jean-Louis GOUBERT
La FAQ Outlook est la : http://faq.outlook.free.fr

Avatar
Geo
Avatar
Clément Marcotte
Des fois, je me dis que la censure ne vise que 2 individus bien ciblés...

"Lola" a écrit dans le message de news:
%
"Mersenne" a écrit dans le message de
news:
Bonsoir.

D'ordinaire, quand on remplace toutes les occurrences d'une certaine
chaîne

par une autre chaîne dans une zone sélectionnée, cette zone reste
sélectionnée (sauf, évidemment, si les remplacements ont pour effet
de

l'effacer entièrement).

Si vous avez compté là-dessus dans une macro, je vous conseille de
mettre un

signet sur la zone sélectionnée et de sélectionner ce signet après
le

remplacement, au moins dans les Word 2002 et 2003..

Exemple : créez un nouveau document, tapez-y deux blancs puis le
caractère a

et sélectionnez ces trois caractères.
Exécutez ensuit cette macro :
Selection.Find.Execute FindText:=" ", Forward:=True, ReplaceWith:="
",

Replace:=wdReplaceAll
(remplacement général de deux blancs par un).
La partie qui était sélectionnée ne l'est plus.

J'attends les injures des Anacoluthe et des Clément Marcotte.

Mersenne.




Bonsoir,

1) L'utilisation à bon escient de «Rechercher/Remplacer» vous
permettrait, à mon humble avis, de vous passer de macros
superfétatoires.
2) C'est, du moins, ce que j'ai retenu des suggestions que m'ont
généreusement prodigué ici Anacoluthe, Clément, Circé et bien
d'autres.
De combien de «bugs» aurais-je cru avoir été la victime sans leurs
conseils, quand ma connaissance imparfaite de Word était seule en
cause ?

Laissez-moi vous rappeler ceci : les gens qui viennent poser des
questions sur ce forum sont des utilisateurs de Word (par choix et/ ou
obligation) qui cherchent à progresser dans son utilisation. Ceux qui
leur répondent le font bénévolement, parce qu'ils ont des
connaissances et trouvent normal de les partager.
Si, comme c'est votre droit, vous n'appréciez pas ce logiciel, faites
part de vos griefs à la société qui l'a conçu et cessez, s'il vous
plaît, de dévoyer l'esprit de m.p.f.w.

Merci.
--
Ich bin die fesche Lola,
der Liebling der Saison.




Avatar
Clément Marcotte
P.S. C'est pas normal depuis des décennies que, quand l'on remplace un
signet par R-R, on perde le signet et la sélection ?


"Clément Marcotte" a écrit dans le message
de news:
Des fois, je me dis que la censure ne vise que 2 individus bien ciblés...

"Lola" a écrit dans le message de news:
%
"Mersenne" a écrit dans le message de
news:
Bonsoir.

D'ordinaire, quand on remplace toutes les occurrences d'une certaine
chaîne

par une autre chaîne dans une zone sélectionnée, cette zone reste
sélectionnée (sauf, évidemment, si les remplacements ont pour effet
de

l'effacer entièrement).

Si vous avez compté là-dessus dans une macro, je vous conseille de
mettre un

signet sur la zone sélectionnée et de sélectionner ce signet après
le

remplacement, au moins dans les Word 2002 et 2003..

Exemple : créez un nouveau document, tapez-y deux blancs puis le
caractère a

et sélectionnez ces trois caractères.
Exécutez ensuit cette macro :
Selection.Find.Execute FindText:=" ", Forward:=True, ReplaceWith:="
",

Replace:=wdReplaceAll
(remplacement général de deux blancs par un).
La partie qui était sélectionnée ne l'est plus.

J'attends les injures des Anacoluthe et des Clément Marcotte.

Mersenne.




Bonsoir,

1) L'utilisation à bon escient de «Rechercher/Remplacer» vous
permettrait, à mon humble avis, de vous passer de macros
superfétatoires.
2) C'est, du moins, ce que j'ai retenu des suggestions que m'ont
généreusement prodigué ici Anacoluthe, Clément, Circé et bien
d'autres.
De combien de «bugs» aurais-je cru avoir été la victime sans leurs
conseils, quand ma connaissance imparfaite de Word était seule en
cause ?

Laissez-moi vous rappeler ceci : les gens qui viennent poser des
questions sur ce forum sont des utilisateurs de Word (par choix et/ ou
obligation) qui cherchent à progresser dans son utilisation. Ceux qui
leur répondent le font bénévolement, parce qu'ils ont des
connaissances et trouvent normal de les partager.
Si, comme c'est votre droit, vous n'appréciez pas ce logiciel, faites
part de vos griefs à la société qui l'a conçu et cessez, s'il vous
plaît, de dévoyer l'esprit de m.p.f.w.

Merci.
--
Ich bin die fesche Lola,
der Liebling der Saison.








Avatar
Clément Marcotte
Bonjour,

J'attends les injures des Anacoluthe et des Clément Marcotte.

Mersenne.



Puisque l'on me sollicite si poliment. J'en ai mon voyage de ses hospices
crises de fausse bugguite aigue. J'ai hâte que la censure se grouille le cul
pour nous en débarasser. Ses bugs imaginaires, dus à l'ignorance crasse du
produit et sa pollution merdique de ce forum tapent royalement sur les nerf.
Mais Ça la censure hypocrite s'en fout.

Maudite bande de nouilles hypocrites.

Clément Marcotte qui est bien content d'avoir choisi de ne plus être MVP.


Avatar
Mersenne
"Lola" a écrit dans le message de news:
%

L'utilisation à bon escient de «Rechercher/Remplacer» vous
permettrait, à mon humble avis, de vous passer de macros
superfétatoires.


Voulez-vous dire qu'une macro de 100 pages où est prévu un remplacement
général doit s'arrêter à cette ligne et prier l'utilisateur de faire le
remplacement à la main ?
Vous ignorez peut-être que, dans le monde de la programmation, il est
considéré comme impoli de signaler un bogue en livrant sans plus tout le
programme qui a permis de le constater et que les exemples qu'on donne ne
correspondent généralement pas à la pratique réelle.
Il est pénible d'avoir passé du temps à isoler une situation minimale pour
s'entendre dire "Il ne faut pas faire une macro d'une seule ligne, c'est
superfétatoire".
Je suis donc étonné du tonnerre d'applaudissements que votre intervention a
déchaînés.


Laissez-moi vous rappeler ceci : les gens qui viennent poser des
questions sur ce forum sont des utilisateurs de Word (par choix et/ ou
obligation) qui cherchent à progresser dans son utilisation. Ceux qui
leur répondent le font bénévolement, parce qu'ils ont des
connaissances et trouvent normal de les partager.


C'est exactement ce que je fais : je suis un bénévole qui mets les
programmeurs Word en garde contre des bugs qui risquent de leur faire perdre
la face devant leurs clients.

M.

Avatar
Mersenne
"JièL Goubert" a écrit dans le
message de news: %
Bonjoir(c) Lola


Merci.


clap clap clap.... Merci à toi



Pour les bruyants applaudissements que vous décernez à Lola, voyez la
réponse que je lui ai faite (mon message a été mal placé, ce n'est pas ma
faute).

et pis
Selection.Find.Execute FindText:=" {2,}", Forward:=True, Wrap:=
wdFindContinue, ReplaceWith:=" ", Replace:=wdReplaceAll
ne nécessite pas de macro :-), ca fait tout en une seule fois


La macro qui m'a révélé le bug du "remplacer tout" fait notamment ce qui
suit.
Le texte à traiter contient des pseudo-tableaux, c'est-à-dire du texte qui
sera affiché de façon formatée grâce à l'usage de caractères de largeur
constante.
Dans une ancienne présentation, les pseudo-colonnes (qui ne contiennent
aucun blanc) étaient séparées par des suites de blancs qu'il a été décidé
de réduire de moitié. Dans chacun de ces tableaux (et non dans les portions
de texte qui les séparent), la macro fait donc une et une seule fois un
remplacement général de deux blancs par un, ce qui a pour effet de réduire
les suites de blancs de moitié.
Ensuite, dans le même pseudo-tableau, la macro fait certains remplacements
de caractères, en rapport eux aussi avec de nouvelles conventions.

Et cette macro fait des centaines d'autres choses.

Ne pensez-vous pas que si vous appliquez votre méthode à cette situation
lors d'un nouvel examen, vous le raterez ?

M.


Avatar
Mersenne
"Clément Marcotte" a écrit dans le message
de news:
P.S. C'est pas normal depuis des décennies que, quand l'on remplace un
signet par R-R, on perde le signet et la sélection ?



Ai-je parlé de remplacer un signet ?

J'ai noté que ce qui avait toujours été la règle, à savoir que le
remplacement général dans une zone sélectionnée laissait cette zone
sélectionnée, n'a plus lieu, dans certains cas, dans Word 2002 et 2003.

Voici un exemple de comparaison : sélectionnez une suite de caractères
formée de "a", de deux blancs et de "b", appliquez-lui la macro que j'ai
indiquée : cette fois-ci, la zone est toujours sélectionnée.

Si je me suis aperçu de ce bug, c'est parce qu'une macro qui avait
fonctionné correctement du Word 1995 jusqu'au Word 2000 s'est mise à faire
du gâchis dans le 2002 et le 2003.

Vous constaterez que je n'entends pas tomber dans l'incroyable grossièreté
qui est la vôtre.

M.

Avatar
Couriacasseacasque

"Clément Marcotte" a écrit dans le me ssage de news:
Et puis moi, au lieu de faire des macros de 100 pages qui vont prendre des heures à s'exécuter, j'envisagerais très sérieusement, pour ne passer pour un con, d'utiliser un langage compilé, et surtout pas un lan gage interprété comme VBA.

R. :Si vous croyez qu'une macro VBA de 100 pages prend des heures à s 'exécuter, vous venez de vous délivrer un certificat d'ignorance.


Quand on n'est pas capable de réaliser de "des heures" est une image,
on n'est pas beaucoup plus qu'une "2 Watts" comme on dit chez nous.

Et ne pensez-vous pas que pour l'exécution de programmes interactifs (encore une chose à laquelle vous n'avez peut-être pas songé) par des personnes habituées à Word, le VBA est la meilleure solution ?



N'importe quel langage compilé pouvant utiliser la technologie COM
(comme VisualBasic et les autres produits VisualStudio) peut piloter à
distance n'importe quelle application Office avec autant
d'interactivité que VBA



Et puis, les vrais programmeurs Word qui savent comment déboguer effi cacement, vont trouver des solutions plus rapidement avec les outils de VBA que dans la prose inutile et suffisante d'un incompétent qui se prend po ur le nombril du monde.

R. Oui, ils débogueront, quand leurs clients se seront plaints du bug et qu'ils auront perdu la face.


En général, ils sont assez intelligents pour les voir avant de
livrer.


Parce que si ces bugs d'opérette avaient été vraiment gênants p our les vrais programmeurs, les question seraient apparues bien avant cette pollution inutile.

R. Peut-être que les vrais programmeurs, sachant que ces forums sont truffés de Clément Marcottes, gardent leurs observations et leurs rem èdes pour eux.

M.


C'est plutôt parce qu'ils savent qu'il y a un Belge têtu du nom
d'Adrien Delcourt qui continue de polluer, malgré le fait qu'il sache
qu'il dérange.

------=_NextPart_000_0058_01C6657A.C43968B0
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: quoted-printable
X-Google-AttachSize: 3106

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859- 15">
<META content="MSHTML 6.00.2900.2873" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=ltr
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER- LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Clément Marcotte" &lt;<A
href="mailto:"> o.ca</A>&gt;
a écrit dans le message de news: <A
href="mailto:">e8b9QdWZGHA.1220@ TK2MSFTNGP02.phx.gbl</A>...</DIV>
<DIV><FONT face=Arial size=2>&nbsp;Et puis moi, au lieu de faire de s macros de
100 pages qui vont prendre des heures à s'exécuter, j'envisagerais très
sérieusement, pour ne passer pour un con, d'utiliser un langage compi lé, et
surtout pas un langage interprété comme VBA.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>R. :Si vous croyez qu'une macro VBA de 100 pages
prend des heures à s'exécuter, vous venez de vous délivrer un cer tificat
d'ignorance.</FONT></DIV>
<DIV><FONT face=Arial size=2>Et ne pensez-vous pas que pour l'exé cution de
programmes interactifs (encore une chose à laquelle vous n'avez peut- être pas
songé) par des personnes habituées à Word, le VBA est la meilleur e solution
?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Et puis, les vrais programmeurs Word q ui savent
comment déboguer efficacement,&nbsp;vont trouver des solutions plus r apidement
avec les outils de VBA que dans la prose inutile et suffisante d'un
incompétent qui se prend pour le nombril du monde.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>R. Oui, ils débogueront, quand leurs clients se
seront plaints du bug et qu'ils auront perdu la face.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Parce que si ces bugs d'opérette ava ient été
vraiment gênants pour les vrais programmeurs, les question seraient a pparues
bien avant cette pollution inutile.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>R. Peut-être que les vrais programme urs, sachant
que ces forums sont truffés de Clément Marcottes, gardent leurs obs ervations
et leurs remèdes pour eux.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>M.</FONT></DIV>
<BLOCKQUOTE dir=ltr
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDE R-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px"><FONT
face=Arial size=2></FONT>&nbsp;</BLOCKQUOTE></BLOCKQUOTE></BODY>< /HTML>

------=_NextPart_000_0058_01C6657A.C43968B0--


1 2 3