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 :

Creation de titre à partir d'un tableau


Sujet :

Word

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 78
    Points : 22
    Points
    22
    Par défaut Creation de titre à partir d'un tableau
    Bonjour,

    J'aimerai générer automatiquement des titres à partir d'un tableau qui est susceptible de grandir.

    je vous explique:

    Colonne 1, j'ai un numero de cas.
    Colonne 2 mon titre.
    Colonne 3 des tests
    colonne 4 des tests.

    Je ne sais pas si c'est possible.
    Cordialement,

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Essayez ce code :

    Nb : La première ligne du tableau correspondant au titre est exclue.

    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
     
     
    Sub CreerDesLignesDeTitreDepuisUnTableau()
     
    Dim MesCellules As Cells
    Dim Cellule As Cell
     
    Dim NbParagraphes As Long
     
        Set MesCellules = ActiveDocument.Tables(1).Columns(2).Cells
        For Each Cellule In MesCellules
            With ActiveDocument
                 If Cellule.RowIndex > 1 Then
                    NbParagraphes = .Paragraphs.Count
                    .Paragraphs(.Paragraphs.Count).Range.InsertParagraphAfter
                    With .Paragraphs(NbParagraphes)
                         .Style = ActiveDocument.Styles("Titre 1")
                         .Range = Cellule.Range & vbLf
                    End With
                  End If
            End With
        Next Cellule
        Set MesCellules = Nothing
     
    End Sub
    Cordialement.

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 78
    Points : 22
    Points
    22
    Par défaut
    Je ne sais pas comment lier ma macro à mon tableau.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par coucou1105 Voir le message
    Ci-joint, un fichier exemple Pièce jointe 227001

    Faire Alt-F11 pour accéder à l'éditeur VBA. La macro principale est dans le module standard "Module1". Le code pour le bouton est dans ThisDocument.

    Sans bouton, vous pouvez également lancer la macro depuis l'onglet Développeur de Word.

    Cordialement.

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 78
    Points : 22
    Points
    22
    Par défaut
    Merci bcp c'est presque parfait.

    Suis-je obligé de passer par un bouton ? Si je change le titre dans mon tableau peut il se mettre à jour?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par coucou1105 Voir le message
    Suis-je obligé de passer par un bouton ?
    Rappel de mon mail précédent : "Sans bouton, vous pouvez également lancer la macro depuis l'onglet Développeur de Word."


    Si je change le titre dans mon tableau peut il se mettre à jour?
    C'est plus compliqué. Une solution consisterait à intégrer la ligne de titre dans un signet et de référencer les signets dans le tableau. Ensuite il s'agirait de travailler par rapport aux signets et non plus par rapport aux titres. Le programme chercherait l'existence des signets indiqués dans le tableau, si le signet existe, le titre serait remplacé sinon le nouveau signet et son titre seraient intercalés dans l'ordre du tableau.

    Cordialement.

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 78
    Points : 22
    Points
    22
    Par défaut
    ok merci beaucoup je vais rester comme ca,

    Par contre quand j'essaie d'adapter à mon document, je ne comprend pas comment la macro sélectionne mon tableau.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par coucou1105 Voir le message
    Par contre quand j'essaie d'adapter à mon document, je ne comprend pas comment la macro sélectionne mon tableau.
    Avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Set MesCellules = ActiveDocument.Tables(1).Columns(2).Cells
    Où Tables(1) correspond au premier tableau du document.

    Si votre document possède plusieurs tableaux, le code suivant passe en revue tous les tableaux et vous permet d'identifier l'indice :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub PasserEnRevueLesTableaux()
     
    Dim I As Integer
     
        For I = 1 To ActiveDocument.Tables.Count
            With ActiveDocument.Tables(I)
                 .Select
                 MsgBox "Le tableau " & I & " est composé de : " & .Rows.Count & " lignes.", vbInformation
            End With
        Next I
     
    End Sub
    Cordialement.

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 78
    Points : 22
    Points
    22
    Par défaut
    Il y a juste le format du texte qui n'est pas au bon format titre.

    Il ecrit en format ' normal ' et non 'titre 3' comme je le souhaite.

    Est ce possible d'ajouté entre chaque titre les champs suivants:

    Entrée:

    Sortie:

    Cordialement

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par coucou1105 Voir le message
    Remplacez la partie de code par celui-ci :

    Nb : Pour souligner, il faut que votre style "Titre 3" soit paramétré pour le faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
                    With .Paragraphs(NbParagraphes)
                         .Style = ActiveDocument.Styles("Titre 1")
                         .Range = Cellule.Range '& vbLf
                         .Style = ActiveDocument.Styles("Titre 3")
                         .Range = "Entrée :" & vbLf
                         .Style = ActiveDocument.Styles("Titre 3")
                         .Range = "Sortie :" & vbLf
                    End With
    Cordialement.

  11. #11
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 78
    Points : 22
    Points
    22
    Par défaut
    Mon probleme de format de titre n'est pas résolu,

    Il prend bien la mise en forme mais quand je clique dessus, word me dit qu'il est au format normal.

  12. #12
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par coucou1105 Voir le message
    Mon probleme de format de titre n'est pas résolu,
    Il prend bien la mise en forme mais quand je clique dessus, word me dit qu'il est au format normal.
    Sans exemple, je ne peux pas deviner.

    Sinon, regardez dans le style : Clic-droit sur le style, puis Modifier : vérifiez le style par défaut après.

    Cordialement.

  13. #13
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 78
    Points : 22
    Points
    22
    Par défaut
    Quand on sélectionne ce qui a été créée par la macro, le style ne correspond pas mais la mise en forme oui.

  14. #14
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par coucou1105 Voir le message
    Quand on sélectionne ce qui a été créée par la macro, le style ne correspond pas mais la mise en forme oui.
    Que reste-t-il de vos problèmes ?

    Cordialement.

  15. #15
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 78
    Points : 22
    Points
    22
    Par défaut
    Vu qu'il ne reprend que le format et n'applique pas le style, je ne le retrouve pas dans mon sommaire.

  16. #16
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par coucou1105 Voir le message
    Vu qu'il ne reprend que le format et n'applique pas le style, je ne le retrouve pas dans mon sommaire.

    J'ai ajouté ".Range = vbLf" en tête de paragraphe. Chez moi, la table des matières est correcte et les lignes créées sont bien dans le style prévu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                    With .Paragraphs(NbParagraphes)
                         .Range = vbLf
                         .Style = ActiveDocument.Styles("Titre 1")
                         .Range = Cellule.Range '& vbLf
                         .Style = ActiveDocument.Styles("Titre 3")
                         .Range = "Entrée :" & vbLf
                         .Style = ActiveDocument.Styles("Titre 3")
                         .Range = "Sortie :" & vbLf
                    End With
    Cordialement.

  17. #17
    Membre à l'essai
    Inscrit en
    Avril 2013
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 78
    Points : 22
    Points
    22
    Par défaut
    On y est presque !

    désormais j'ai bien mes titres mais entre mon titre 1 et mon champs entrée, j'ai un saut de ligne et qui est dans un format titre et je voudrais qu'il soit au format 'normal'.

  18. #18
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par coucou1105 Voir le message
    désormais j'ai bien mes titres mais entre mon titre 1 et mon champs entrée, j'ai un saut de ligne et qui est dans un format titre et je voudrais qu'il soit au format 'normal'.
    Je ne vais pas pouvoir vous aider plus. Vous aurez compris qu'il faut jouer sur les Vblf et sans doute sur le paramétrage de vos titres en modifiant le style du paragraphe suivant, ou en ajoutant des lignes avec le style de votre choix.

    Comme dans tout, l'apprentissage demande beaucoup d'essais, la perfection en nécessite encore bien plus.

    Bon courage à vous.

    Cordialement.

Discussions similaires

  1. [word 2010] Creer des titres à partir d'un tableau
    Par coucou1105 dans le forum VBA Word
    Réponses: 1
    Dernier message: 05/12/2016, 17h37
  2. Réponses: 1
    Dernier message: 16/10/2008, 16h05
  3. Réponses: 0
    Dernier message: 16/10/2008, 11h21
  4. Réponses: 6
    Dernier message: 31/01/2007, 10h19
  5. Creation d'une table à partir d'un tableau
    Par fafabzh6 dans le forum Access
    Réponses: 10
    Dernier message: 20/09/2006, 17h10

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