OVH Cloud OVH Cloud

Sélection dans document Word et validation

4 réponses
Avatar
ptilo
Bonjour tout le monde,

Voici la situation (vba word 2000) :

j'ai fait une macro avec une fenetre qui permet =E0 l'utilisateur de
construire une cha=EEne de caract=E8re g=E9n=E9rique =E0 rechercher puis de
lancer la recherche dans un document. Toutes les occurences trouv=E9es
sont stock=E9es dans un tableau. Jusque l=E0, pas de probl=E8me.
En fait, dans le document, il correspond =E0 chaque =E9l=E9ment trouv=E9 du
texte que j'aimerais r=E9cup=E9rer aussi hors ce texte n'a pas une forme
sp=E9ciale et seul l'utilisateur peut l'indiquer.

Donc voil=E0 j'aimerai que =E0 chaque fois qu'une chaine de caract=E8re
correspondant =E0 la recherche est trouv=E9e, une fenetre indique =E0
l'utilisateur de s=E9lectionner le texte correspondant (avec la souris
par exemple) puis une fois le texte s=E9lectionner il puisse valider sa
s=E9lection en cliquant sur un bouton dans une fen=EAtre qui serait
rest=E9e au premier plan.

Donc si quelqu'un pourrait m'aider sur cette histoire de fen=EAtre qui
reste au premier plan pendant que l'utilisateur =E0 la main pour
s=E9lectionner du texte, se serait vraiment tr=E8s bien.

Je ne sais pas si j'ai =E9t=E9 tr=E8s compr=E9hensible, n'h=E9sitez pas a me
demander si vous n'avez rien compris !

Au fait, si quelqu'un ne sait pas r=E9soudre mon probl=E8me mais qu'il a
une autre id=E9e pour mon programme, je suis aussi preneur.

Bonne journ=E9e

Ptilo

4 réponses

Avatar
ptilo
Re-bonjour,

j'apporte un élément de réponse à ma propre question mais qui
débouche sur un autre problème.
J'ai découvert l'histoire des fenêtre "modale", j'ai donc rendu la
fenêtre qui indique de sélectionner le texte non modale mais comme
tout ceci est fait dans une boucle, le programme déroule la boucle en
affichant la fenêtre non modale mais continue son exécution sans se
préocuper d'une quelconque action dans cette fenêtre.

J'aimerai donc savoir comment peut-on faire une pause dans une boucle
qui attend un événement sur un bouton de la fenêtre non modale.

Merci par avance de votre aide (je continue à chercher et si je
trouve, je me répondrais pour vous prévenir)

A +

Ptilo
Avatar
ptilo
Bon je crois je vais arréter avec les bonjour !!!

Ca y est j'ai résolu mon problème (je pose les questions un
rapidement et ne cherche pas assez!) d'attente d'évenement comme cela
:

Do While UserForm1.Visible
DoEvents
Loop


Ca marche bien mais y a un truc qui me dérrange un peu, j'ai fait un
peu de programmation parallèle sous Unix et donc je n'aime pas trop
utiliser une boucle pour faire une temporisation ou une pause (ca
bouffe de la ressource) donc si quelqu'un a une autre technique pour
faire la pause sans boucle, je suis preneur, pour l'instant je vais me
contenter de ce que j'ai fait.

A +

Ptilo

Avatar
Circé
Bonjour ptilo !

Je pense que toutes les solutions sont listées ici :
http://support.microsoft.com/kb/q212667/

Cet article de la faq donne un exemple avec la solution API, mais si ça
bloque Word, ce n'est peut être pas ce que tu souhaites:
http://faqword.free.fr/articles.php?lng=fr&pgg2

Circé
http://faqword.free.fr

ptilo a pensé très fort :
Bon je crois je vais arréter avec les bonjour !!!

Ca y est j'ai résolu mon problème (je pose les questions un
rapidement et ne cherche pas assez!) d'attente d'évenement comme cela


Do While UserForm1.Visible
DoEvents
Loop


Ca marche bien mais y a un truc qui me dérrange un peu, j'ai fait un
peu de programmation parallèle sous Unix et donc je n'aime pas trop
utiliser une boucle pour faire une temporisation ou une pause (ca
bouffe de la ressource) donc si quelqu'un a une autre technique pour
faire la pause sans boucle, je suis preneur, pour l'instant je vais me
contenter de ce que j'ai fait.

A +

Ptilo



Avatar
ptilo
Salut,

merci bien pour les lien, ca permet de voir divers solutions mais dans
mon cas je n'attend pas un certain temps, j'attend jusqu'à ce qu'un
événenment se passe, en locurence un clic sur un bouton donc t'as
raison le fait de bloquer word est gênant puisque pendant l'attente,
l'utilisateur doit faire une sélection dans word. C'est domage parce
qu'à ce point près là, c'est ce genre de solution que je cherchais.

A +

Ptilo