Trouvez le paragraphe d'un mot sous word - VB/VBA/VBS - Programmation
Marsh Posté le 22-07-2009 à 23:02:06
Tu entends quoi par paragraphe ?
La plus part des gens appuis sur Entrée pour faire un retour chariot, or, dans Word c'est un saut de paragraphe...
Donc ca risque de faire beaucoup de paragraphe
Marsh Posté le 23-07-2009 à 08:26:59
Ah oui....... d'ailleurs je fais partie de ces gens la....
Sinon ce que j'entendais par paragraphe c'etait la valeur du dernier titre renseigné, par exemple:
1 Explication
1.1 Mise en relief
La mise en relief de mon exemple passe par ce corps de texte
Ici le paragraghe dont je parlais correspondrait a: 1.1
Je ne souhaite pas renvoyer le nom du paragraphe, mais juste son numero.
Sinon, comme je le disais, si ce n'est pas possible, je me contenterais de la page....
Marsh Posté le 23-07-2009 à 10:43:41
Re
Pour avoir le numéro de page de la selection en cours :
MsgBox Selection.Information(wdActiveEndPageNumber)
Ensuite pour faire une recherche dans un doc Word, j'avais deja repondu a cette question ici, jettes y un oeil
Marsh Posté le 23-07-2009 à 14:06:44
Merci, j'arrive effectivement à avoir le numéro de page.
Si vous avez des idées pour le paragraphe, dites le moi ^^
Marsh Posté le 23-07-2009 à 14:22:20
Bah vu la maniere dont tu ecris, c'est assez chaud, ca veut dire remonter caractere par caractere jusqu'a trouver qqchose qui ressemble a TON systeme de paragraphe... En l'occurence, 1.1 ou 1
Ce qui fait que si tu as ecrit "1" dans le corp du paragraphe, ca sera detecter comme le paragraphe en lui meme. Ou alors il faut tester sur un chiffre, puis sur la police, gras etc. Seulement si tu mets toujours la meme mise en forme pour tes titres de paragraphes.
Sinon, dans Word pour ecrire normalement :
Paragraphe 1:
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Shift + Entrée
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Shift + Entrée
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Entrée
Paragraphe 2:
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Etc.
Marsh Posté le 23-07-2009 à 14:59:26
Bonjour,
Voila le code
Code :
|
Marsh Posté le 23-07-2009 à 15:01:03
J'ai oublié de préciser que tous les paragraphes dans les tableaux seront comptabilisés
Marsh Posté le 23-07-2009 à 15:03:33
pyrof
As tu bien lu la problématique ???
Deja avec ta procédure, si on appuis 7 fois sur la touche entrée le num_para renverra 6...
Marsh Posté le 23-07-2009 à 15:49:19
Quelque chose comme ca devrait le faire :
Code :
|
Edit :
Avec un texte comme ca :
Citation : 1 toto khllhk |
et si je cherche tata, ca me revoit bien le numéro du paragraphe precedent, genre le 1er tata me selectionne "1.1 bravo", le second tata me selectionne "1.2" etc.
Marsh Posté le 23-07-2009 à 21:12:56
Bonsoir,
Nicosuise demande comment récupérer le numéro du paragraphe qui contient le mot de recherche
Code :
|
une fois le mot trouvé, le code que Pyrof (Homepyrof = Pyrof à la maison) donne bien le nombre de paragraphe de ce mot au début du document, donc le numéro du paragraphe.
Voilà
Marsh Posté le 24-07-2009 à 01:50:08
Hello
Donc, tu n'as pas lu.
Etant donné qu'un utilisateur lambda de Word, pour aller a la ligne appuis sur la touche Entrée, et que Entrée sour Word = 1 Paragraphe, il ne retrouvera jamais le numéro de paragraphe comme Nicosuisse le numérote.
Rappel :
Nicosuisse a écrit : Ah oui....... d'ailleurs je fais partie de ces gens la.... |
Donc si je garde cet exemple et qu'il recherche "Exemple" ca devrait lui ressortir 1.1, chose que pyrof (homepyrof au travail je suppose )avec son code ne ressort pas, puisque ce code "ne sert qu'à" compter le nombre de fois ou un utilisateur lambda appuis sur Entrée. (a partir du curseur je te l'accorde)
Parcontre, le code de dje69r (a la maison ou au travail) rempli cette fonction.
Je ne dénigrais pas ce que tu as fait, c'est juste que tu n'as pas lu la problématique et donc que ta/tes réponses ne serviront pas a grand chose pour Nicosuisse.
Cordialement
Marsh Posté le 24-07-2009 à 08:07:08
Bonjour,
Ok je n'avais tout vu,
maintenant comment sont générés les numéros (1, 1.1)
1) saisis : ta macro fonctionne
2) automatiquement : (numération des styles) : ta macro ne devrait pas fonctionner. Dans ce cas
Code :
|
permet de transformer les numéros générés en vrai "texte"
Marsh Posté le 24-07-2009 à 09:27:24
Bonjour a tous,
Déjà, merci pour vos réponses, après le soucis c'est que ce n'est pas moi qui rédige les documents dans lesquel ma macro devrait effectuer ces recherches.... Ce qui fait que je ne peux prédire le fait que quelqu'un commence par un chiffre, ce qui empeche ta macro de fonctionner correctement Dje.
Ensuite la plupart des douments utilisent une saisie automatique des titres. Au départ quand j'ai poser la question, je pensais que word, dans les informations de selection pouvaient dire a quel titre le texte correspondait comme corp de texte. (j'avais basé ma reflexion sur le fait que lorsque l'on fait du scrolling on voit apparaitre a coté du numero de page le titre en haut de page.....)....
Enfin bref, le numéro de page fonctionne aussi pas mal, donc je pense je vais resté la dessus.
Merci pour tout
Marsh Posté le 24-07-2009 à 09:31:41
Bah si ca ne commence pas par un chiffre, c'est que ton exemple n'etait pas démonstratif. Je suis parti sur ton exemple.
Sinon, comme dit plus haut, et comme le suggere pyrof (au boulot donc, ) tu peux definir en amont en fonction du style si c'est un titre ou pas, (faut il encore que la personne se serve correctement de Word) et en fonction donner le paragraphe (Ou numéro d'occurence de ce style).
Marsh Posté le 24-07-2009 à 10:00:22
Et oui Pyrof au boulot
Car mon travail depuis une vingtaine d'année est de faire des macros dans word excel et d'autres logiciels
évidemment s'il n'y a pas une certaine rigueur dans les fichiers word, il sera bien difficile de faire du 100%
Une autre vision :
Si tes titres sont bien balisé, tu fais une table des matières
Tes mots tu les balises de façon à en faire un index
tout ça est possible dans word
Et après tu fais tu extrapoles la tables des matières et l'index
Y a du boulot .........
Bon courage
Marsh Posté le 24-07-2009 à 10:18:31
pyrof a écrit : |
Ca n'aurait pas pu etre plus... Le bon vieux temps des macro excel 4....
pyrof a écrit : évidemment s'il n'y a pas une certaine rigueur dans les fichiers word, il sera bien difficile de faire du 100% |
Comme souvent les gens utilisent word comme un bloc note ou on peut mettre du gras
pyrof a écrit : Y a du boulot ......... |
+1
Sinon aussi je vois de plus en plus de personnes qui mettent des signets pour les titres. C'est pratique, table des matieres faite rapidement, et surtout atteindre le signet est un jeu d'enfant.
Mais dans tous les cas il faut que ton fichier soit un minimum rédiger correctement.
Sujet clos pour ma part.
Bonne journée les gars.
Marsh Posté le 24-09-2009 à 11:37:10
Bonjour a tous
j ai le même problème a résoudre par contre chez moi voici mon texte
1 toto khllhk
1.1 bravo
Dslfjsdlvjndsmv tata dfcjnsdmlcvjnsdlmnk
Msdmsdkcmsd,lc
........
1.1.2 exe..
Msc,msdc,dmsl,
2 ...
Smdflvsdmnvlsdkn tata msdlfjcsdmljcdsmlj
2.1 ....
tata
....
2.3.1 ...
Je dois copier le paragraphe dans une autre page Word si le mot tata figure dans le paragraphe.
merci
Marsh Posté le 24-09-2009 à 13:00:13
Le code que j'ai donné plus haut devrait fonctionner, je ne vois pas ou se situe le probleme ?
Marsh Posté le 24-09-2009 à 19:53:31
Bah normal, il faut l'adapter pour qu'elle te selectionne le paragraphe, puis te copier/colle ailleurs.
Mais normalement la procédure de recherche et de positionnement en debut de paragraphe devrait fonctionner.
Marsh Posté le 25-09-2009 à 01:06:15
je ne suis pas du tout un programmeur VBA c est juste
j ai juste besoin d'une aide
merci
Chimson
Marsh Posté le 22-07-2009 à 17:33:48
Bonjour,
Je souhaite créer une maccro sous Excell qui m'ouve un Word, cherche un mot, et me dit a quel paragraphe il se trouve (si ce n'est pas possible, alors a quel page il est)
J'ai deja effectué la partie ouverture du word et recherche du mot, par contre je n'ai aucune piste pour trouver le numero de paragraphe associé ou la page correspondante.......
Si vous avez des idées, je suis plus que preneur.
Merci d'avance