Ajouter un saut à la ligne dans Word en...

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:

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:

1 réponse

Altazari Messages postés 33 Statut Membre
 
Résolu
0