export de données texte rentrées dans excell vers un document word
2 réponses
yupa
Bonjour =E0 tous,
je cherche =E0 r=E9aliser une macro ex=E9cutable par un bouton qui
ouvrirait un document word pre format=E9 (bref d=E9j=E0 existant) et
copierait =E0 une certaine place de la feuille word la s=E9lection faite
dans excel (il s'agirait du contenu de plusieurs cellules
s=E9lectionn=E9es dans excel)
pour l'instant je ne suis toujours pas parvenu =E0 ouvrir un document
word via une macro.
Merci d'avance de vos r=E9ponses!!
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
ThierryP
Bonjour yupa,
tu peux t'inspirer de ceci, qui me sert à faire un E-mailing :
Sub Publipostage() On Error Resume Next ActiveWorkbook.VBProject.References.AddFromFile _ ("C:Program FilesMicrosoft OfficeOffice10MSWORD.OLB") Dim wApp As Word.Application, wDoc As Word.Document Set wApp = CreateObject("Word.Application") fichier = Application.GetOpenFilename("Modèle Word(*.dot), *.dot") If fichier = False Then GoTo Fin On Error GoTo 0 Range("A65000").End(xlUp).Select Do While ActiveCell.Row <> 1 Set wDoc = wApp.Documents.Open(fichier) If ActiveCell.Offset(0, 8).Value = "m" Then Civilité = "Cher Monsieur" Else Civilité = "Chère Madame, Mademoiselle" Nom = ActiveCell.Value Prénom = ActiveCell.Offset(0, 1).Value Adresse1 = ActiveCell.Offset(0, 2).Value Adresse2 = ActiveCell.Offset(0, 3).Value CodePost = ActiveCell.Offset(0, 4).Value Ville = ActiveCell.Offset(0, 5).Value Pays = ActiveCell.Offset(0, 6).Value With wDoc .Bookmarks("Civilité").Range.Text = Civilité .Bookmarks("Prénom").Range.Text = Prénom .Bookmarks("Nom").Range.Text = Nom .Bookmarks("Adresse1").Range.Text = Adresse1 .Bookmarks("Adresse2").Range.Text = Adresse2 .Bookmarks("CodePost").Range.Text = CodePost .Bookmarks("Ville").Range.Text = Ville .Bookmarks("Pays").Range.Text = Pays .Bookmarks("CodePost").Range.Text = CodePost End With Nom_Document = ThisWorkbook.Path & "Documents" & Nom & ".doc" wDoc.SaveAs Nom_Document wDoc.Close Set wDoc = Nothing cible = ActiveCell.Address ActiveCell.Offset(-1, 0).Select Loop Fin: If fichier = False Then Message = "Fichier non valide" Else Message = "Documents créés" End If wApp.Quit MsgBox Message End Sub
Le fichier Word est préparé avec les signets qui vont bien et en principe, tout roule !!
Bonjour à tous,
je cherche à réaliser une macro exécutable par un bouton qui ouvrirait un document word pre formaté (bref déjà existant) et copierait à une certaine place de la feuille word la sélection faite dans excel (il s'agirait du contenu de plusieurs cellules sélectionnées dans excel) pour l'instant je ne suis toujours pas parvenu à ouvrir un document word via une macro. Merci d'avance de vos réponses!!
-- @+ thierryp ----------------- Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G. Courteline
Bonjour yupa,
tu peux t'inspirer de ceci, qui me sert à faire un E-mailing :
Sub Publipostage()
On Error Resume Next
ActiveWorkbook.VBProject.References.AddFromFile _
("C:Program FilesMicrosoft OfficeOffice10MSWORD.OLB")
Dim wApp As Word.Application, wDoc As Word.Document
Set wApp = CreateObject("Word.Application")
fichier = Application.GetOpenFilename("Modèle Word(*.dot), *.dot")
If fichier = False Then GoTo Fin
On Error GoTo 0
Range("A65000").End(xlUp).Select
Do While ActiveCell.Row <> 1
Set wDoc = wApp.Documents.Open(fichier)
If ActiveCell.Offset(0, 8).Value = "m" Then Civilité = "Cher
Monsieur" Else Civilité = "Chère Madame, Mademoiselle"
Nom = ActiveCell.Value
Prénom = ActiveCell.Offset(0, 1).Value
Adresse1 = ActiveCell.Offset(0, 2).Value
Adresse2 = ActiveCell.Offset(0, 3).Value
CodePost = ActiveCell.Offset(0, 4).Value
Ville = ActiveCell.Offset(0, 5).Value
Pays = ActiveCell.Offset(0, 6).Value
With wDoc
.Bookmarks("Civilité").Range.Text = Civilité
.Bookmarks("Prénom").Range.Text = Prénom
.Bookmarks("Nom").Range.Text = Nom
.Bookmarks("Adresse1").Range.Text = Adresse1
.Bookmarks("Adresse2").Range.Text = Adresse2
.Bookmarks("CodePost").Range.Text = CodePost
.Bookmarks("Ville").Range.Text = Ville
.Bookmarks("Pays").Range.Text = Pays
.Bookmarks("CodePost").Range.Text = CodePost
End With
Nom_Document = ThisWorkbook.Path & "Documents" & Nom & ".doc"
wDoc.SaveAs Nom_Document
wDoc.Close
Set wDoc = Nothing
cible = ActiveCell.Address
ActiveCell.Offset(-1, 0).Select
Loop
Fin:
If fichier = False Then
Message = "Fichier non valide"
Else
Message = "Documents créés"
End If
wApp.Quit
MsgBox Message
End Sub
Le fichier Word est préparé avec les signets qui vont bien et en
principe, tout roule !!
Bonjour à tous,
je cherche à réaliser une macro exécutable par un bouton qui
ouvrirait un document word pre formaté (bref déjà existant) et
copierait à une certaine place de la feuille word la sélection faite
dans excel (il s'agirait du contenu de plusieurs cellules
sélectionnées dans excel)
pour l'instant je ne suis toujours pas parvenu à ouvrir un document
word via une macro.
Merci d'avance de vos réponses!!
--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline
tu peux t'inspirer de ceci, qui me sert à faire un E-mailing :
Sub Publipostage() On Error Resume Next ActiveWorkbook.VBProject.References.AddFromFile _ ("C:Program FilesMicrosoft OfficeOffice10MSWORD.OLB") Dim wApp As Word.Application, wDoc As Word.Document Set wApp = CreateObject("Word.Application") fichier = Application.GetOpenFilename("Modèle Word(*.dot), *.dot") If fichier = False Then GoTo Fin On Error GoTo 0 Range("A65000").End(xlUp).Select Do While ActiveCell.Row <> 1 Set wDoc = wApp.Documents.Open(fichier) If ActiveCell.Offset(0, 8).Value = "m" Then Civilité = "Cher Monsieur" Else Civilité = "Chère Madame, Mademoiselle" Nom = ActiveCell.Value Prénom = ActiveCell.Offset(0, 1).Value Adresse1 = ActiveCell.Offset(0, 2).Value Adresse2 = ActiveCell.Offset(0, 3).Value CodePost = ActiveCell.Offset(0, 4).Value Ville = ActiveCell.Offset(0, 5).Value Pays = ActiveCell.Offset(0, 6).Value With wDoc .Bookmarks("Civilité").Range.Text = Civilité .Bookmarks("Prénom").Range.Text = Prénom .Bookmarks("Nom").Range.Text = Nom .Bookmarks("Adresse1").Range.Text = Adresse1 .Bookmarks("Adresse2").Range.Text = Adresse2 .Bookmarks("CodePost").Range.Text = CodePost .Bookmarks("Ville").Range.Text = Ville .Bookmarks("Pays").Range.Text = Pays .Bookmarks("CodePost").Range.Text = CodePost End With Nom_Document = ThisWorkbook.Path & "Documents" & Nom & ".doc" wDoc.SaveAs Nom_Document wDoc.Close Set wDoc = Nothing cible = ActiveCell.Address ActiveCell.Offset(-1, 0).Select Loop Fin: If fichier = False Then Message = "Fichier non valide" Else Message = "Documents créés" End If wApp.Quit MsgBox Message End Sub
Le fichier Word est préparé avec les signets qui vont bien et en principe, tout roule !!
Bonjour à tous,
je cherche à réaliser une macro exécutable par un bouton qui ouvrirait un document word pre formaté (bref déjà existant) et copierait à une certaine place de la feuille word la sélection faite dans excel (il s'agirait du contenu de plusieurs cellules sélectionnées dans excel) pour l'instant je ne suis toujours pas parvenu à ouvrir un document word via une macro. Merci d'avance de vos réponses!!
-- @+ thierryp ----------------- Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G. Courteline
yupa
Merci beaucoup pour cette réponse! j'ai bien pigé le code, mais là où ça bloque sur excel, c'est que les variables déclarés sont d'un type non défini pour lui, alors il veut pas déboguer et en fait, et bien je suis toujours au même point! si tu as d'autre id'ées, d'avance merci, mais en tout cas voici déjà un grand merci pour ce que tu m'as indiqué vincent
Merci beaucoup pour cette réponse!
j'ai bien pigé le code, mais là où ça bloque sur excel, c'est que
les variables déclarés sont d'un type non défini pour lui, alors il
veut pas déboguer et en fait, et bien je suis toujours au même point!
si tu as d'autre id'ées, d'avance merci, mais en tout cas voici déjà
un grand merci pour ce que tu m'as indiqué
vincent
Merci beaucoup pour cette réponse! j'ai bien pigé le code, mais là où ça bloque sur excel, c'est que les variables déclarés sont d'un type non défini pour lui, alors il veut pas déboguer et en fait, et bien je suis toujours au même point! si tu as d'autre id'ées, d'avance merci, mais en tout cas voici déjà un grand merci pour ce que tu m'as indiqué vincent