Bonjour et bonne année à tous.
J'ai réussi (non sans mal !) à réaliser une macro qui importe une colonne d'un tableau dans un nouveau document WORD.
Elle transforme ensuite le tableau en texte et enlève les lignes inutiles.
Dans mon document, je voudrais maintenant sauter une ligne avant les lignes qui possèdent une police soulignée.
Pour les "fortiches" que vous êtes, ça doit être une aimable rigolade, mais ça me rendrait bien service. Merci d'avance.
Voici mon code :
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 Sub EnvoyerVersWord() Dim WordDoc As Word.Document Dim WordApp As Word.Application Dim x As String Set WordApp = CreateObject("Word.Application") Application.DisplayAlerts = True ' demande de colonne à copier x = InputBox("Quelle colonne voulez-vous copier ?") If IsNumeric(x) Or x = "" Or Application.IsText(x) = False Then MsgBox "Il faut entrer une lettre. Recommencez." x = "" Exit Sub End If ' Copie les données Excel ThisWorkbook.Worksheets("Calendriers").Columns(x).Copy WordApp.Visible = True 'Ouvre le document Word Set WordDoc = WordApp.Documents.Add 'Crée un nouveau document ' Colle les données dans Word WordDoc.Range.PasteSpecial ' **** transformer tableau en texte **** Dim tbl As Table ScreenUpdating = False Set tbl = WordDoc.Tables(1) WordDoc.Tables(1).Rows.ConvertToText Separator:=wdSeparateByParagraphs, _ NestedTables:=True ' **** supprimer les signes de paragraphe (lignes vides) **** Dim pAra As Paragraph For Each pAra In WordDoc.Paragraphs If pAra.Range.Words(1) = Chr(13) Then 'chr(13)= marque de paragraphe pAra.Range.Delete End If Next pAra ' **** retour dans excel Application.CutCopyMode = False Range("A3").Select End Sub
Partager