Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour, Dans ton fichier Excel, tu dois ajouter la référence suivante dans la fenêtre VBA / Outils / références : "Microsoft word xx" Dans le code de ta macro, tu crées une instance de Word mais tu ne rends pas cette instance visible...elle est cependant en mémoire vive. Tu n'as qu'à ajouter une ligne de code pour voir le résultat de ta macro. '---------------------------------------------- Sub ExcelToWord() ' Code à titre d'exemple Dim Plg As Word.Range With Sheets(1) Texte = .[A5] & .[B5] & vbCrLf & _ .[A6] & .[B6] & vbCrLf & _ .[A7] & [B7] End With 'Création du fichier Word Set wd = CreateObject("Word.Application") wd.Visible = True ' <<<<========= Ligne ajoutée 'L'application Word visible ou non Set Dc = wd.Documents.Add Set Plg = Dc.Range With Plg '--- Texte multilignes .Paragraphs.Add .Collapse Direction:=wdCollapseEnd .Text = Texte .Font.Size = 12 .Font.Bold = True .Paragraphs.Add .ParagraphFormat.Alignment = wdAlignParagraphLeft End With End Sub '---------------------------------------------- MichD
Bonjour,
Dans ton fichier Excel, tu dois ajouter la référence suivante dans la
fenêtre VBA / Outils / références : "Microsoft word xx"
Dans le code de ta macro, tu crées une instance de Word mais tu ne
rends pas cette instance visible...elle est cependant en mémoire vive.
Tu n'as qu'à ajouter une ligne de code pour voir le résultat de ta
macro.
'----------------------------------------------
Sub ExcelToWord()
' Code à titre d'exemple
Dim Plg As Word.Range
With Sheets(1)
Texte = .[A5] & .[B5] & vbCrLf & _
.[A6] & .[B6] & vbCrLf & _
.[A7] & [B7]
End With
'Création du fichier Word
Set wd = CreateObject("Word.Application")
wd.Visible = True ' <<<<========= Ligne ajoutée
'L'application Word visible ou non
Set Dc = wd.Documents.Add
Set Plg = Dc.Range
Bonjour, Dans ton fichier Excel, tu dois ajouter la référence suivante dans la fenêtre VBA / Outils / références : "Microsoft word xx" Dans le code de ta macro, tu crées une instance de Word mais tu ne rends pas cette instance visible...elle est cependant en mémoire vive. Tu n'as qu'à ajouter une ligne de code pour voir le résultat de ta macro. '---------------------------------------------- Sub ExcelToWord() ' Code à titre d'exemple Dim Plg As Word.Range With Sheets(1) Texte = .[A5] & .[B5] & vbCrLf & _ .[A6] & .[B6] & vbCrLf & _ .[A7] & [B7] End With 'Création du fichier Word Set wd = CreateObject("Word.Application") wd.Visible = True ' <<<<========= Ligne ajoutée 'L'application Word visible ou non Set Dc = wd.Documents.Add Set Plg = Dc.Range With Plg '--- Texte multilignes .Paragraphs.Add .Collapse Direction:=wdCollapseEnd .Text = Texte .Font.Size = 12 .Font.Bold = True .Paragraphs.Add .ParagraphFormat.Alignment = wdAlignParagraphLeft End With End Sub '---------------------------------------------- MichD
MichD
MichD a exprimé avec précision :
Bonjour, Dans ton fichier Excel, tu dois ajouter la référence suivante dans la fenêtre VBA / Outils / références : "Microsoft word xx" Dans le code de ta macro, tu crées une instance de Word mais tu ne rends pas cette instance visible...elle est cependant en mémoire vive. Tu n'as qu'à ajouter une ligne de code pour voir le résultat de ta macro. '---------------------------------------------- Sub ExcelToWord() ' Code à titre d'exemple Dim Plg As Word.Range With Sheets(1) Texte = .[A5] & .[B5] & vbCrLf & _ .[A6] & .[B6] & vbCrLf & _ .[A7] & [B7] End With 'Création du fichier Word Set wd = CreateObject("Word.Application") wd.Visible = True ' <<<<========= Ligne ajoutée 'L'application Word visible ou non Set Dc = wd.Documents.Add Set Plg = Dc.Range With Plg '--- Texte multilignes .Paragraphs.Add .Collapse Direction:=wdCollapseEnd .Text = Texte .Font.Size = 12 .Font.Bold = True .Paragraphs.Add .ParagraphFormat.Alignment = wdAlignParagraphLeft End With End Sub '---------------------------------------------- MichD
En passant, lorsque tu crées une instance d'une application comme Word, ce n'est pas parce que tu ne l'as pas rendu visible qu'elle n'existe pas. Regarde dans le gestionnaire de tâches, le nombre de fois qu'apparaît l'exécutable WinWord dans la fenêtre. Ce décompte représente le nombre de fois que tu as créer une instance de Word sans la fermer. MichD
MichD a exprimé avec précision :
Bonjour,
Dans ton fichier Excel, tu dois ajouter la référence suivante dans la fenêtre
VBA / Outils / références : "Microsoft word xx"
Dans le code de ta macro, tu crées une instance de Word mais tu ne rends pas
cette instance visible...elle est cependant en mémoire vive. Tu n'as qu'à
ajouter une ligne de code pour voir le résultat de ta macro.
'----------------------------------------------
Sub ExcelToWord()
' Code à titre d'exemple
Dim Plg As Word.Range
With Sheets(1)
Texte = .[A5] & .[B5] & vbCrLf & _
.[A6] & .[B6] & vbCrLf & _
.[A7] & [B7]
End With
'Création du fichier Word
Set wd = CreateObject("Word.Application")
wd.Visible = True ' <<<<========= Ligne ajoutée
'L'application Word visible ou non
Set Dc = wd.Documents.Add
Set Plg = Dc.Range
End With
End Sub
'----------------------------------------------
MichD
En passant, lorsque tu crées une instance d'une application comme Word,
ce n'est pas parce que tu ne l'as pas rendu visible qu'elle n'existe
pas. Regarde dans le gestionnaire de tâches, le nombre de fois
qu'apparaît l'exécutable WinWord dans la fenêtre. Ce décompte
représente le nombre de fois que tu as créer une instance de Word sans
la fermer.
Bonjour, Dans ton fichier Excel, tu dois ajouter la référence suivante dans la fenêtre VBA / Outils / références : "Microsoft word xx" Dans le code de ta macro, tu crées une instance de Word mais tu ne rends pas cette instance visible...elle est cependant en mémoire vive. Tu n'as qu'à ajouter une ligne de code pour voir le résultat de ta macro. '---------------------------------------------- Sub ExcelToWord() ' Code à titre d'exemple Dim Plg As Word.Range With Sheets(1) Texte = .[A5] & .[B5] & vbCrLf & _ .[A6] & .[B6] & vbCrLf & _ .[A7] & [B7] End With 'Création du fichier Word Set wd = CreateObject("Word.Application") wd.Visible = True ' <<<<========= Ligne ajoutée 'L'application Word visible ou non Set Dc = wd.Documents.Add Set Plg = Dc.Range With Plg '--- Texte multilignes .Paragraphs.Add .Collapse Direction:=wdCollapseEnd .Text = Texte .Font.Size = 12 .Font.Bold = True .Paragraphs.Add .ParagraphFormat.Alignment = wdAlignParagraphLeft End With End Sub '---------------------------------------------- MichD
En passant, lorsque tu crées une instance d'une application comme Word, ce n'est pas parce que tu ne l'as pas rendu visible qu'elle n'existe pas. Regarde dans le gestionnaire de tâches, le nombre de fois qu'apparaît l'exécutable WinWord dans la fenêtre. Ce décompte représente le nombre de fois que tu as créer une instance de Word sans la fermer. MichD
bonjour, Sub ExcelToWord2() ' référence à Microsoft word xx Dim Plg As Word.Range With Sheets(1) Rng = .Range("A5:B7").Copy End With Set wd = CreateObject("Word.Application") wd.Visible = True Set Dc = wd.Documents.Add Set Plg = Dc.Range With Plg .Paste .Tables(1).ConvertToText Separator:=wdSeparateByTabs End With Application.CutCopyMode = False End Sub isabelle Le 2016-09-21 à 15:25, Apitos a écrit :
Bonjour MichD, le forum, Le problème est que le texte était copié en brut sans formatage : - Gras et souligné pour les mots en gauche (DT, DO, Mois) plus les deux points devant. - Les deux point ne sont pas alignés verticalement. - Le mois en lettre n'est pas formaté en nom propre (Première lettre en majuscule)
bonjour,
Sub ExcelToWord2()
' référence à Microsoft word xx
Dim Plg As Word.Range
With Sheets(1)
Rng = .Range("A5:B7").Copy
End With
Set wd = CreateObject("Word.Application")
wd.Visible = True
Set Dc = wd.Documents.Add
Set Plg = Dc.Range
With Plg
.Paste
.Tables(1).ConvertToText Separator:=wdSeparateByTabs
End With
Application.CutCopyMode = False
End Sub
isabelle
Le 2016-09-21 à 15:25, Apitos a écrit :
Bonjour MichD, le forum,
Le problème est que le texte était copié en brut sans formatage :
- Gras et souligné pour les mots en gauche (DT, DO, Mois) plus les deux points devant.
- Les deux point ne sont pas alignés verticalement.
- Le mois en lettre n'est pas formaté en nom propre (Première lettre en majuscule)
bonjour, Sub ExcelToWord2() ' référence à Microsoft word xx Dim Plg As Word.Range With Sheets(1) Rng = .Range("A5:B7").Copy End With Set wd = CreateObject("Word.Application") wd.Visible = True Set Dc = wd.Documents.Add Set Plg = Dc.Range With Plg .Paste .Tables(1).ConvertToText Separator:=wdSeparateByTabs End With Application.CutCopyMode = False End Sub isabelle Le 2016-09-21 à 15:25, Apitos a écrit :
Bonjour MichD, le forum, Le problème est que le texte était copié en brut sans formatage : - Gras et souligné pour les mots en gauche (DT, DO, Mois) plus les deux points devant. - Les deux point ne sont pas alignés verticalement. - Le mois en lettre n'est pas formaté en nom propre (Première lettre en majuscule)
isabelle
tu pourrais aussi remplacer .Tables(1).ConvertToText Separator:=wdSeparateByTabs par .Tables(1).ConvertToText Separator:=" " isabelle Le 2016-09-22 à 10:56, isabelle a écrit :
bonjour, Sub ExcelToWord2() ' référence à Microsoft word xx Dim Plg As Word.Range With Sheets(1) Rng = .Range("A5:B7").Copy End With Set wd = CreateObject("Word.Application") wd.Visible = True Set Dc = wd.Documents.Add Set Plg = Dc.Range With Plg .Paste .Tables(1).ConvertToText Separator:=wdSeparateByTabs End With Application.CutCopyMode = False End Sub isabelle Le 2016-09-21 à 15:25, Apitos a écrit :
Bonjour MichD, le forum, Le problème est que le texte était copié en brut sans formatage : - Gras et souligné pour les mots en gauche (DT, DO, Mois) plus les deux points devant. - Les deux point ne sont pas alignés verticalement. - Le mois en lettre n'est pas formaté en nom propre (Première lettre en majuscule)
tu pourrais aussi remplacer
.Tables(1).ConvertToText Separator:=wdSeparateByTabs
par
.Tables(1).ConvertToText Separator:=" "
isabelle
Le 2016-09-22 à 10:56, isabelle a écrit :
bonjour,
Sub ExcelToWord2()
' référence à Microsoft word xx
Dim Plg As Word.Range
With Sheets(1)
Rng = .Range("A5:B7").Copy
End With
Set wd = CreateObject("Word.Application")
wd.Visible = True
Set Dc = wd.Documents.Add
Set Plg = Dc.Range
With Plg
.Paste
.Tables(1).ConvertToText Separator:=wdSeparateByTabs
End With
Application.CutCopyMode = False
End Sub
isabelle
Le 2016-09-21 à 15:25, Apitos a écrit :
Bonjour MichD, le forum,
Le problème est que le texte était copié en brut sans formatage :
- Gras et souligné pour les mots en gauche (DT, DO, Mois) plus les deux points
devant.
- Les deux point ne sont pas alignés verticalement.
- Le mois en lettre n'est pas formaté en nom propre (Première lettre en
majuscule)
tu pourrais aussi remplacer .Tables(1).ConvertToText Separator:=wdSeparateByTabs par .Tables(1).ConvertToText Separator:=" " isabelle Le 2016-09-22 à 10:56, isabelle a écrit :
bonjour, Sub ExcelToWord2() ' référence à Microsoft word xx Dim Plg As Word.Range With Sheets(1) Rng = .Range("A5:B7").Copy End With Set wd = CreateObject("Word.Application") wd.Visible = True Set Dc = wd.Documents.Add Set Plg = Dc.Range With Plg .Paste .Tables(1).ConvertToText Separator:=wdSeparateByTabs End With Application.CutCopyMode = False End Sub isabelle Le 2016-09-21 à 15:25, Apitos a écrit :
Bonjour MichD, le forum, Le problème est que le texte était copié en brut sans formatage : - Gras et souligné pour les mots en gauche (DT, DO, Mois) plus les deux points devant. - Les deux point ne sont pas alignés verticalement. - Le mois en lettre n'est pas formaté en nom propre (Première lettre en majuscule)
isabelle
si tu veut garder l'objet tableau mais que les bordures de celui-ci ne soient pas visible modifie la section With Plg..................End With par: With Plg .Paste For Each aBorder In .Tables(1).Borders aBorder.Visible = False Next aBorder End With isabelle Le 2016-09-22 à 12:27, isabelle a écrit :
tu pourrais aussi remplacer .Tables(1).ConvertToText Separator:=wdSeparateByTabs par .Tables(1).ConvertToText Separator:=" " isabelle
si tu veut garder l'objet tableau mais que les bordures de celui-ci ne soient
pas visible
modifie la section With Plg..................End With
par:
With Plg
.Paste
For Each aBorder In .Tables(1).Borders
aBorder.Visible = False
Next aBorder
End With
isabelle
Le 2016-09-22 à 12:27, isabelle a écrit :
tu pourrais aussi remplacer
.Tables(1).ConvertToText Separator:=wdSeparateByTabs
par
.Tables(1).ConvertToText Separator:=" "
si tu veut garder l'objet tableau mais que les bordures de celui-ci ne soient pas visible modifie la section With Plg..................End With par: With Plg .Paste For Each aBorder In .Tables(1).Borders aBorder.Visible = False Next aBorder End With isabelle Le 2016-09-22 à 12:27, isabelle a écrit :
tu pourrais aussi remplacer .Tables(1).ConvertToText Separator:=wdSeparateByTabs par .Tables(1).ConvertToText Separator:=" " isabelle