|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Grégoire Ingénieur intégration Inscription : décembre 2012 Messages : 7 ![]() |
Bonjour à tous,
Je suis débutant en word et le problème que je rencontre est au-delà de mes compétences et après quelques heures de recherche infructueuses, j'ai décidé de vous consulter. Voilà mon contexte : - j'extrait un document .doc d'une base de données grâce à un logiciel d'extraction. - lorsque j'ouvre ce fichier je retrouve bien toutes les informations demandées mais la structure ne me convient pas. En effet j'obtiens des choses du type : 1. Chapitre 1 1.1.1 Section 1 du chapitre 1 - comme vous pouvez le constater il y a un écart de numérotation.. - j'ai consulté le fournisseur de ce logiciel mais ce dernier n'a pas de solution à me proposer en passant par le logiciel d'extraction. - j'ai donc pensé à modifier directement le fichier .doc extrait via une macro par exemple. (j'extrais beaucoup de doc tous les jours donc je ne peux envisager de me les repalucher à la main...) Auriez-vous des pistes ou une solution permettant de remettre en forme le document word, s'il vous plaît, tel que 1. titre 1 1.1.1 section 1 chapitre 1 1.1.2 section 2 chapitre 1 1.1.2.1.1 partie 1 section 2 chapitre 1 1.1.2.1.2 partie 2 section 2 chapitre 1 devienne automatiquement 1. titre 1 1.1 section 1 chapitre 1 1.2 section 2 chapitre 1 1.2.1 partie 1 section 2 chapitre 1 1.2.2 partie 2 section 2 chapitre 1 Les styles de mon template sont bien définis, je pense qu'il faut juste modifier les styles de certains titres. Merci à tous, Gregos.
|
|
|
00
|
|
|
#2 |
![]() ![]() |
Bonjour,
Je pense que ce serait plutôt la numérotation des styles de titre à changer. Est-ce que tu as vérifier s'il n'est pas rappelé par exemple 2 fois le niveau précédent ou insérer à la main le groupement .1 dedans. Ca y ressemble quand même.
__________________
Cordialement, Christophe Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Grégoire Ingénieur intégration Inscription : décembre 2012 Messages : 7 ![]() |
Merci pour ta réponse Carden752.
Oui j'ai vérifié tous les paramètres de titres. Tout est en règle de ce côté là. Le problème vient de l'attribution des styles à certaines sélections. Je pensais qu'une macro qui pourrait sélectionner un titre, regarder le titre précédent et s'il y a un écart de 2 niveaux ou plus entre les styles des deux titres alors modifier le style du titre sélectionné, pourrait faire l'affaire. Mais je n'ai pas les connaissances pour... Merci pour votre aide. Gregos. |
|
|
00
|
|
|
#4 |
![]() ![]() |
Bonjour,
Je pense que le plus simple serait d'avoir un document qui pose problème sans donner confidentielles si c'est possible. Ce sera plus facile pour nous de créer la macro en fonction de ton paramétrage de styles.
__________________
Cordialement, Christophe Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Grégoire Ingénieur intégration Inscription : décembre 2012 Messages : 7 ![]() |
Yes ! Voilà un de mes fichiers qui me pose problème. J'ai retiré les infos confidentielles..
|
|
|
00
|
|
|
#6 |
![]() ![]() |
Bonjour,
Il te faut redéfinir la hiérarchie de ton style de numérotation en fonction de ce que tu utilises. Il te faut donc mettre entre autre mettre au niveau 3. "Sect2-title" en masquant le niveau2 et au niveau 5 "Sect4-title" en masquant les niveaux 2 et 4 (non utilisés), au niveau 6 "Sect5-title" en masquant aussi les niveaux 2 et 4 OU Il te faut redéfinir le style correspondant pour chacun de tes titres. Car tu as à priori 2 styles équivalents pour le même niveau dans ce que tu souhaites faire, c'est à dire dire que ce qui est en Sect2-title correspond à du Sect1-title. Et ce qui est du Sect4-title correspond à du Sect3-title et le Sect5-title correspond à du Sect4-title
__________________
Cordialement, Christophe Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Grégoire Ingénieur intégration Inscription : décembre 2012 Messages : 7 ![]() |
Merci Carden752 mais le problème n'est pas vraiment là puisque ce fichier est un exemple parmi d'autres qui ont tous des structures différentes.
J'ai donc besoin d'entrer n'importe quel fichier Word dans un programme (type macro) et d'obtenir en sortie ce même fichier mais avec une structure cohérente. (sans écart de numérotation) Est-ce que cela est possible? En tout cas, merci pour le temps que tu y consacres. |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 18 885 ![]() |
Salut,
C'est faisable, mais pas si simple. Il faut faire une comparaison du niveau en cours avec le dernier niveau rencontré qui n'est pas un niveau de base.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Grégoire Ingénieur intégration Inscription : décembre 2012 Messages : 7 ![]() |
Salut Oli,
Est-ce qu'on peut initier la macro ensemble, que tu me donnes un plan de bataille avec les grandes fonctions à utiliser... Je n'ai pas peur de travailler, loin de là, mais je n'ai pas spécialement de connaissances... Merci par avance, Gregos. |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Grégoire Ingénieur intégration Inscription : décembre 2012 Messages : 7 ![]() |
Salut à tous,
Avez-vous des pistes s'il vous plaît? Merci. Gregos. |
|
|
00
|
|
|
#11 | ||
![]() ![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 18 885 ![]() |
Salut,
Il faut un indicateur du dernier niveau. IntNiv Je pense à une boucle sur tous les paragraphes du document, et pour chaque paragraphe, récupérer son niveau. Si c'est un niveau texte, on passe. Si c'est un niveau titre, le comparer au dernier niveau trouvé. Si le niveau est plus élevé, on le mémorise, si le niveau est égal, on ne fait rien. Si le niveau est plus faible, on vérifie de combien, si c'est de 1 niveau, on passe, si c'est de plusieurs niveau, on lui atribue le dernier niveau + 1 Pour boucler sur les paragraphes d'un document, c'est assez simple, on déclare un objet paragraph Pour la boucle, on la fait sur la collection des paragraphes Code :
Par exemple, on récupère le niveau de la numérotation par Pour faire ses débuts en VBA, j'ai un tuto là : http://heureuxoli.developpez.com/office/word/vba-all/
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
||
|
|
00
|
|
|
#12 | |
|
Invité de passage
![]() Coordonnatrice services d'éditique Inscription : décembre 2012 Messages : 1 ![]() |
Citation:
Salut Gregos, La réponse serait plus précise si je savais sur quelle version de Word tu travailles. Quoi qu'il en soit, la procédure la plus simple est la même. Il s'agit d'une procédure manuelle mais elle est si rapide que ça vaut la peine de la faire: 1- Clique sur un des titres mal numéroté, préférablement la première occurrence à partir du début du texte. 2- Sur l'onglet Accueil du ruban, dans le groupe Modification, clique sur la flèche pour développer Sélectionner... et clique sur Sélectionner tout le texte ayant la même mise en forme 3- Clique sur Effacer tout (panneau de styles) ou sur Effacer la mise en forme (Galerie de styles rapides développée) SANS DÉSÉLECTIONNER. Si tu désélectionnes par accident, fait CTRL+Z. 4- Clique sur le nom de style à appliquer (par exemple titre 2) 5- Tu peux désélectionner. hth |
|
|
|
00
|
|
|
#13 | ||
|
Invité de passage
![]() Grégoire Ingénieur intégration Inscription : décembre 2012 Messages : 7 ![]() |
Bonjour à tous,
Grâce à votre aide précieuse, j'ai réussi à obtenir ce que je voulais. Merci à vous. La macro est composée de deux parties : 1ere partie, réorganiser les niveaux des titres 2ème partie, attribuer un style particulier en fonction du niveau de chaque paragraphe. Voilà ce que ça donne : Code :
Allez Ciao et à bientôt le forum ! Gregos
|
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com