IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Word Discussion :

Saut de numérotation dans la structure d'un document extrait d'une BDD. [WD-2010]


Sujet :

Word

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Saut de numérotation dans la structure d'un document extrait d'une BDD.
    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.

  2. #2
    Membre expert

    Homme Profil pro
    Spécialiste progiciel
    Inscrit en
    Février 2010
    Messages
    1 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Spécialiste progiciel
    Secteur : Service public

    Informations forums :
    Inscription : Février 2010
    Messages : 1 747
    Points : 3 016
    Points
    3 016
    Par défaut
    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

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    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.

  4. #4
    Membre expert

    Homme Profil pro
    Spécialiste progiciel
    Inscrit en
    Février 2010
    Messages
    1 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Spécialiste progiciel
    Secteur : Service public

    Informations forums :
    Inscription : Février 2010
    Messages : 1 747
    Points : 3 016
    Points
    3 016
    Par défaut
    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

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Yes ! Voilà un de mes fichiers qui me pose problème. J'ai retiré les infos confidentielles..
    Fichiers attachés Fichiers attachés

  6. #6
    Membre expert

    Homme Profil pro
    Spécialiste progiciel
    Inscrit en
    Février 2010
    Messages
    1 747
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Spécialiste progiciel
    Secteur : Service public

    Informations forums :
    Inscription : Février 2010
    Messages : 1 747
    Points : 3 016
    Points
    3 016
    Par défaut
    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

  7. #7
    Candidat au Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    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.

  8. #8
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    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 !

  9. #9
    Candidat au Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    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.

  10. #10
    Candidat au Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Salut à tous,

    Avez-vous des pistes s'il vous plaît?

    Merci.

    Gregos.

  11. #11
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each myPar in ActiveDocument.Paragraphs
    ...
    Next myPar
    Là où j'ai mis les ... on fait le traitement des données utiles.

    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 !

  12. #12
    Futur Membre du Club
    Femme Profil pro
    Coordonnatrice services d'éditique
    Inscrit en
    Décembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Coordonnatrice services d'éditique
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par gregos93 Voir le message
    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.


    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

  13. #13
    Candidat au Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    Sub aaaREFRESH_LAYOUT()
     
    ' Initialization
    Dim myPar As Paragraph
    Dim fatherLevel As WdOutlineLevel
     
    fatherLevel = 1
     
    'Loop hiérarchisation
     
        For Each myPar In ActiveDocument.Paragraphs
        myParLevel = myPar.OutlineLevel
     
        If myPar.OutlineLevel <> 10 Then
            If myPar.OutlineLevel = fatherLevel + 1 Then
            fatherLevel = myPar.OutlineLevel
            Else
                If myPar.OutlineLevel > fatherLevel + 1 Then
     
                        myPar.OutlineLevel = myPar.OutlineLevel - 1
     
                        Else
                            If myPar.OutlineLevel < fatherLevel Then
                            fatherLevel = myPar.OutlineLevel
                            End If
                End If
            End If
        End If
     
        Next
     
     
     
    'Loop distribution des styles
    For Each myPar In ActiveDocument.Paragraphs
     
    If myPar.OutlineLevel <> 10 Then
        If myPar.OutlineLevel = 2 Then
            myPar.Style = "chapter-title"
        End If
        If myPar.OutlineLevel = 3 Then
            myPar.Style = "sect1-title"
        End If
        If myPar.OutlineLevel = 4 Then
            myPar.Style = "sect2-title"
        End If
        If myPar.OutlineLevel = 5 Then
            myPar.Style = "sect3-title"
        End If
        If myPar.OutlineLevel = 6 Then
            myPar.Style = "sect4-title"
        End If
        If myPar.OutlineLevel = 7 Then
            myPar.Style = "sect5-title"
        End If
    End If
     
    Next
     
    'Mise à jour de tous les champs
    ActiveDocument.Fields.Update
    For Each T In ActiveDocument.TablesOfContents: T.Update: Next T
     
    End Sub
    Big Up à Olive !
    Allez Ciao et à bientôt le forum !

    Gregos

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/06/2012, 22h18
  2. Recherche d'un div dans la structure d'un document
    Par PatSan dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 09/06/2011, 20h45
  3. Coherence dans les structures arborescentes...
    Par Alec6 dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/09/2004, 13h04
  4. Export vers Excel et saut de ligne dans cellule
    Par sbeu dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/08/2004, 16h53
  5. Nombre de sauts de ligne dans un String
    Par Johnbob dans le forum ASP
    Réponses: 7
    Dernier message: 03/03/2004, 16h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo