XL 2016 Copier une liste à puce Word vers excel sans les puce et séparer par un point virgule

senpai49

XLDnaute Nouveau
Bonsoir,
Je cherche un moyen de copier une liste à puce Word vers excel sans les puce et séparer par un point virgule.

Actuellement je réalise le tout manuellement mais c'est long.

Est ce qu'on le faire en macro ou code vba?
Merci
 

Pièces jointes

  • Classeur1-LISTE A PUCE.xlsx
    9.8 KB · Affichages: 7
  • LISTE A PUCES.docx
    13.2 KB · Affichages: 9

laurent950

XLDnaute Barbatruc
Bonsoir @senpai49

Voici le code :
C'est Possible de stocker plusieurs Signet dans des Variables tableaux
Dim signet(1 to 100....) As Word.Bookmark ' Word
Dim i As Integer
Dim LeMot(1 to 100....) As String ' ....... Excel

VB:
Sub CompleterWordDepuisExcel()
' Test Ouverture Application Word, si pas déjà Ouvert.
On Error Resume Next
    Dim WordApp As Word.Application
        Set WordApp = GetObject(, "Word.Application")
            If Err <> 0 Then
                Err.Clear
                Set WordApp = CreateObject("Word.Application")
            End If
        WordApp.Visible = True 'affiche le document Word
' Documents Word.
    Dim WordDoc As Word.Document
        Set WordDoc = WordApp.Documents("C:\[Le chemin ou est enregistré le fichier Word]\LISTE A PUCES.docx")
On Error GoTo 0
' Si le Documents Word est fermé l'Ouvrir.
    If WordDoc Is Nothing Then
        MsgBox "Le document est fermé / Ouvrir le document"
        Set WordDoc = WordApp.Documents.Open("C:\[Le chemin ou est enregistré le fichier Word]\LISTE A PUCES.docx")
    End If
' Récupérer le Signet dans le Document Word.
    Dim signet As Word.Bookmark ' Word
    Dim i As Integer
    Dim LeMot As String ' ....... Excel
        Set signet = WordDoc.Bookmarks("OLE_LINK1") ' ......... [Nom] : nom du signet
            For i = 1 To signet.Range.ListParagraphs.Count
               ' LeMot = LeMot & "; " & signet.Range.ListParagraphs.Item(i).Range.Text
                If i = 1 Then LeMot = signet.Range.ListParagraphs.Item(i).Range.Text _
                         Else LeMot = LeMot & "; " & signet.Range.ListParagraphs.Item(i).Range.Text
            Next i
' Remplir le document Excel.
        Cells(2, 8) = LeMot
' A vous de finir ensuite
' Enregistrer le document Excel.
        'ThisWorkbook.Save
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
315 091
Messages
2 116 117
Membres
112 665
dernier inscrit
JPHD