Pilotage Word Depuis Excel

Bonjour Bonjour !

Je cherche à créer un document word depuis excel, enfin plus précisément à pouvoir créer une liste à puce. J'arrive a créer mon document sans problème et à mettre le texte en forme mais malheureusement IMPOSSIBLE de trouver comment créer une liste à puce. est-ce que quelqu'un peut m'éclairer ?

Bonjour,

C'est simple, par exemple ici pour le paragraphe n°2 :

WordDoc.Paragraphs(2).Range.ListFormat.ApplyBulletDefault

Pierre

Hello ! Merci pour votre proposition malheureusement ça ne fonctionne pas :/

160713095456589927

Voici mon code :

Sub EcriDansWord()
Dim WordObj As Object
Set WordObj = CreateObject("Word.Application.8")

With WordObj
.Visible = True
.Documents.Add
'.Styles.Add ("TitreHaut")
'.Styles.Add ("StTexte")

   ' With .Styles("TitreHaut").Font
    '    .Name = "Arial"
     '   .Size = "14"
    '    .Bold = True
     '   .Underline = False
    'End With

   ' With .Styles("stTexte").Font
     '   .Name = "Arial"
      '  .Size = "11"
     '   .Bold = False
     '   .Underline = False
    'End With

    With .Selection
        .WholeStory
        .Font.Name = "Arial"
        .TypeParagraph
        .TypeText Text:="Le présent rapport propose l'étude de tigidididi. "
        .TypeParagraph
        .TypeText Text:="Le chapitre 1 présente les résultats blablabla"
        .TypeParagraph
        .TypeText Text:="Le chapitre 2 présente les tugudududu"
        .TypeParagraph
        .TypeText Text:="Le chapitre 3 présente truc youkaidi"
        .TypeParagraph
        .TypeText Text:="337 jours de travail --> semaine "
        .TypeText Text:="241 jours ouvrables du lundi au vendredi, jours fériés compris"
        .TypeText Text:="96 jours weekend (samedi et dimanche)"
    End With
    WordObj.Paragraphs(5).Range.ListFormat.ApplyBulletDefault
End With
'pour imprimer le document
'WordObj.PrintOut
Set WordObj = Nothing
End Sub

Ci-après un code pleinement fonctionnel qui ajoute des puces aux paragraphes 6 à 8 d'un nouveau document :

Sub Ecrire_Dans_Word()
Dim WordApp As Object, WordDoc As Object, i As Byte

    Set WordApp = CreateObject("Word.Application")
    WordApp.Documents.Add
    Set WordDoc = WordApp.activedocument

    With WordDoc.Paragraphs
        .Add
        .Item(.Count).Range.InsertAfter "Le présent rapport propose l'étude de tigidididi. "

        .Add
        .Item(.Count).Range.InsertAfter "Le chapitre 1 présente les résultats blablabla"

        .Add
        .Item(.Count).Range.InsertAfter "Le chapitre 2 présente les tugudududu"

        .Add
        .Item(.Count).Range.InsertAfter "Le chapitre 3 présente truc youkaidi" & _
            vbCrLf & "337 jours de travail --> semaine " & _
            vbCrLf & "241 jours ouvrables du lundi au vendredi, jours fériés compris" & _
            vbCrLf & "96 jours weekend (samedi et dimanche)"

    End With

    For i = 6 To 8
        WordDoc.Paragraphs(i).Range.ListFormat.ApplyBulletDefault
    Next i

    WordApp.Visible = True
    Set WordApp = Nothing
    Set WordDoc = Nothing

End Sub

Pierre

J'ai malheureusement toujours la même erreur mais c'est fois - ci sur cette ligne là :

.Item(.Count).Range.InsertAfter "Paragraphe2"

Ci-joint fichier démo fonctionnel (Office 2016)

Pierre

151demo.xlsm (17.25 Ko)

Supeeer ça marche ! c'est moi qui avait mal écrit quelque chose enfaite. Merci beaucoup.

Oserais-je abuser en demandant par hasard si vous saviez comment appliquer un style sur un paragraphe ?

Pour les styles, c'est un simple :

WordDoc.Paragraphs(2).Style = -2 ' wdStyleHeading1

ci-joint démo avec les codes des styles disponibles

(ici comme on a pas activé la réf msword-machin, on ne fait pas référence aux variables wdtruc-chouette, mais directement à leurs valeurs)

Pierre

155demo.xlsm (22.62 Ko)

Waw ! c'est complet !

Merci infiniment je passe le sujet en résolu

Rechercher des sujets similaires à "pilotage word"