Ajouter un saut à la ligne dans Word en...
Altazari
Messages postés
33
Statut
Membre
-
Altazari Messages postés 33 Statut Membre -
Altazari Messages postés 33 Statut Membre -
"Ajouter un saut à la ligne dans Word en... utilisant vba Excel"
Bonjour,
J'ai créer une macro pour automatiser un copier-coller massif de Excel vers Word. Un seul soucis : les sauts à la ligne d'Excel ne passe pas en Word (donc ce qui s'affiche sur plusieurs lignes dans une même cellule d'Excel, s'affiche sur une seule ligne dans Word).
J'ai eu pour idée de remplacer (dans Excel) les sauts à la ligne par le mot "LINEBREAK". Le but étant d'ensuite écrire une macro qui change (dans Word) le mot "LINEBREAK" par un saut à la ligne.
Mais je ne trouve pas comment... Quelqu'un pourait-il m'éclairer svp ?
Merci d'avance!
Voici mon code:
Bonjour,
J'ai créer une macro pour automatiser un copier-coller massif de Excel vers Word. Un seul soucis : les sauts à la ligne d'Excel ne passe pas en Word (donc ce qui s'affiche sur plusieurs lignes dans une même cellule d'Excel, s'affiche sur une seule ligne dans Word).
J'ai eu pour idée de remplacer (dans Excel) les sauts à la ligne par le mot "LINEBREAK". Le but étant d'ensuite écrire une macro qui change (dans Word) le mot "LINEBREAK" par un saut à la ligne.
Mais je ne trouve pas comment... Quelqu'un pourait-il m'éclairer svp ?
Merci d'avance!
Voici mon code:
Sub exceltoword()
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
'For each line, create and fill in a word document based on the research template doc
For line = 2 To 5
'Set word doc
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open("G:\Research summary document Template.doc")
wrdApp.Visible = True
'Call to sub macro
InsertLineBreaks ("AA" & line & ":AC" & line & "")
InsertLineBreaks ("AJ" & line & "")
'Define variables
Title = Cells(line, 5)
DatePresentation = Cells(line, 17)
...etc
' Fill in title and format
wrdDoc.Content.Find.Execute findtext:="addTitle", replacewith:=Title, Replace:=wdReplaceAll
wrdDoc.Content.Find.Execute findtext:="addFormat", replacewith:=Format, Replace:=wdReplaceAll
'J'ai une 20e de variables ici qui sont transférées au document word (je ne crois pas que vous ayez besoin de le voir?)
'Replace "LINEBREAK" with actual line break in word
'(C'est ici que je bloque)
'Save word document under "title".doc
wrdApp.NormalTemplate.Saved = True
wrdDoc.SaveAs ("G:\47 Market Research Internal\992.New Research Set-Up\2011\RECAP\Clio B\Research Summary Documents\" & Title & ".doc")
wrdDoc.Close
wrdApp.Quit
'Call to sub macro
CancelLineBreaks ("AA" & line & ":AC" & line & "")
CancelLineBreaks ("AJ" & line & "")
Next line
End Sub
---------------------------------------------------
Sub InsertLineBreaks(r)
'Replace line breaks with the word "LINEBREAK" (in Excel)
Range(r).Select
Selection.Replace What:="" & Chr(10) & "", Replacement:="LINEBREAK", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
---------------------------------------------------
Sub CancelLineBreaks(s)
'Replace the word "LINEBREAK" with actual line breaks (in Excel)
Range(s).Select
Selection.Replace What:="LINEBREAK", Replacement:="" & Chr(10) & "", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
A voir également:
- Ajouter un saut à la ligne dans Word en...
- Word 2013 - Télécharger - Traitement de texte
- Comment supprimer une page sur word avec un saut de page ? - Guide
- Tableau word - Guide
- Partager photos en ligne - Guide
- Word et excel gratuit - Guide