Bonjour,merci beaucoup
je débute sur vba et je dois créer une application dans excel .
le but est du prendre le contenu de plusieurs documents word de les stocker
dans des variables dans excel puis de les combiner pour en faire un seul
document world.
exemple une lampe personnalisable
doc1 = type d'ampoule
doc2 = type de pied
doc3 = type bouton
doc final = notice de montage
Je dois créer au final un manuel de référence pour les
clients en fonction des chois de celui ci.
je sais comment je souhait structurer mon interface excel mais je ne connais
pas la syntaxe pour:
prendre le contenu d'un word
créer un doc word.
pouvez vous m'aider
merci
Bonjour,merci beaucoup
je débute sur vba et je dois créer une application dans excel .
le but est du prendre le contenu de plusieurs documents word de les stocker
dans des variables dans excel puis de les combiner pour en faire un seul
document world.
exemple une lampe personnalisable
doc1 = type d'ampoule
doc2 = type de pied
doc3 = type bouton
doc final = notice de montage
Je dois créer au final un manuel de référence pour les
clients en fonction des chois de celui ci.
je sais comment je souhait structurer mon interface excel mais je ne connais
pas la syntaxe pour:
prendre le contenu d'un word
créer un doc word.
pouvez vous m'aider
merci
Bonjour,bonjour,
Voici un exemple de code. Tu mets ce code dans un module standard
d'Excel. La procédure ajoute dans un fichier de type Word, le contenu
des fichiers Word dans le répertoire spécifié. Amuse-toi
bien!
'----------------------------------
Sub test()
Dim Wd As Object, MyDoc As Object
Dim Rg As Object, Dc As Object
Dim MyPath As String, DocName As Object
Dim MyFile As String
'Chemin du répertoire où sont les différents fichiers
Word.
'Tous les fichiers de ce répertoire seront traités.
MyPath = "c:UsersYour_ProfileDocuments"
MyFile = Dir(MyPath & "*.do*")
Application.ScreenUpdating = False
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
'Le contenu de tous les fichiers sera ajouté
'à ce nouveau document.
Set MyDoc = Wd.Documents.Add
Do While MyFile <> ""
Set Dc = Wd.Documents.Open(MyPath & MyFile)
Set Rg = MyDoc.Content
Rg.Paragraphs.Add
Rg.InsertAfter Dc.Name
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = True
.Font.Size = 14
.Font.Color = vbBlue
End With
Rg.Paragraphs.Add
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = False
.Font.Size = 11
.Font.Color = wdColorAutomatic
End With
Rg.InsertAfter Dc.Content
Dc.Close False
MyFile = Dir()
Loop
Application.ScreenUpdating = True
End Sub
'----------------------------------
MichD
Bonjour,bonjour,
Voici un exemple de code. Tu mets ce code dans un module standard
d'Excel. La procédure ajoute dans un fichier de type Word, le contenu
des fichiers Word dans le répertoire spécifié. Amuse-toi
bien!
'----------------------------------
Sub test()
Dim Wd As Object, MyDoc As Object
Dim Rg As Object, Dc As Object
Dim MyPath As String, DocName As Object
Dim MyFile As String
'Chemin du répertoire où sont les différents fichiers
Word.
'Tous les fichiers de ce répertoire seront traités.
MyPath = "c:UsersYour_ProfileDocuments"
MyFile = Dir(MyPath & "*.do*")
Application.ScreenUpdating = False
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
'Le contenu de tous les fichiers sera ajouté
'à ce nouveau document.
Set MyDoc = Wd.Documents.Add
Do While MyFile <> ""
Set Dc = Wd.Documents.Open(MyPath & MyFile)
Set Rg = MyDoc.Content
Rg.Paragraphs.Add
Rg.InsertAfter Dc.Name
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = True
.Font.Size = 14
.Font.Color = vbBlue
End With
Rg.Paragraphs.Add
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = False
.Font.Size = 11
.Font.Color = wdColorAutomatic
End With
Rg.InsertAfter Dc.Content
Dc.Close False
MyFile = Dir()
Loop
Application.ScreenUpdating = True
End Sub
'----------------------------------
MichD
Le jeudi 02 Avril 2020 à 16:02 par MichD :Bonjour,
Voici un exemple de code. Tu mets ce code dans un module standard
d'Excel. La procédure ajoute dans un fichier de type Word, le contenu
des fichiers Word dans le répertoire spécifié. Amuse-toi
bien!
'----------------------------------
Sub test()
Dim Wd As Object, MyDoc As Object
Dim Rg As Object, Dc As Object
Dim MyPath As String, DocName As Object
Dim MyFile As String
'Chemin du répertoire où sont les différents fichiers
Word.
'Tous les fichiers de ce répertoire seront traités.
MyPath = "c:UsersYour_ProfileDocuments"
MyFile = Dir(MyPath & "*.do*")
Application.ScreenUpdating = False
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
'Le contenu de tous les fichiers sera ajouté
'à ce nouveau document.
Set MyDoc = Wd.Documents.Add
Do While MyFile <> ""
Set Dc = Wd.Documents.Open(MyPath & MyFile)
Set Rg = MyDoc.Content
Rg.Paragraphs.Add
Rg.InsertAfter Dc.Name
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = True
.Font.Size = 14
.Font.Color = vbBlue
End With
Rg.Paragraphs.Add
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = False
.Font.Size = 11
.Font.Color = wdColorAutomatic
End With
Rg.InsertAfter Dc.Content
Dc.Close False
MyFile = Dir()
Loop
Application.ScreenUpdating = True
End Sub
'----------------------------------
MichD
bonjour,
après de nombreux essais, je n'arrive pas à faire fonctionner le code si
dessus.
pour commencer:
à la ligne MyFile = Dir(MyPath & "*.do*") rien ne se passe .
Le jeudi 02 Avril 2020 à 16:02 par MichD :
Bonjour,
Voici un exemple de code. Tu mets ce code dans un module standard
d'Excel. La procédure ajoute dans un fichier de type Word, le contenu
des fichiers Word dans le répertoire spécifié. Amuse-toi
bien!
'----------------------------------
Sub test()
Dim Wd As Object, MyDoc As Object
Dim Rg As Object, Dc As Object
Dim MyPath As String, DocName As Object
Dim MyFile As String
'Chemin du répertoire où sont les différents fichiers
Word.
'Tous les fichiers de ce répertoire seront traités.
MyPath = "c:UsersYour_ProfileDocuments"
MyFile = Dir(MyPath & "*.do*")
Application.ScreenUpdating = False
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
'Le contenu de tous les fichiers sera ajouté
'à ce nouveau document.
Set MyDoc = Wd.Documents.Add
Do While MyFile <> ""
Set Dc = Wd.Documents.Open(MyPath & MyFile)
Set Rg = MyDoc.Content
Rg.Paragraphs.Add
Rg.InsertAfter Dc.Name
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = True
.Font.Size = 14
.Font.Color = vbBlue
End With
Rg.Paragraphs.Add
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = False
.Font.Size = 11
.Font.Color = wdColorAutomatic
End With
Rg.InsertAfter Dc.Content
Dc.Close False
MyFile = Dir()
Loop
Application.ScreenUpdating = True
End Sub
'----------------------------------
MichD
bonjour,
après de nombreux essais, je n'arrive pas à faire fonctionner le code si
dessus.
pour commencer:
à la ligne MyFile = Dir(MyPath & "*.do*") rien ne se passe .
Le jeudi 02 Avril 2020 à 16:02 par MichD :Bonjour,
Voici un exemple de code. Tu mets ce code dans un module standard
d'Excel. La procédure ajoute dans un fichier de type Word, le contenu
des fichiers Word dans le répertoire spécifié. Amuse-toi
bien!
'----------------------------------
Sub test()
Dim Wd As Object, MyDoc As Object
Dim Rg As Object, Dc As Object
Dim MyPath As String, DocName As Object
Dim MyFile As String
'Chemin du répertoire où sont les différents fichiers
Word.
'Tous les fichiers de ce répertoire seront traités.
MyPath = "c:UsersYour_ProfileDocuments"
MyFile = Dir(MyPath & "*.do*")
Application.ScreenUpdating = False
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
'Le contenu de tous les fichiers sera ajouté
'à ce nouveau document.
Set MyDoc = Wd.Documents.Add
Do While MyFile <> ""
Set Dc = Wd.Documents.Open(MyPath & MyFile)
Set Rg = MyDoc.Content
Rg.Paragraphs.Add
Rg.InsertAfter Dc.Name
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = True
.Font.Size = 14
.Font.Color = vbBlue
End With
Rg.Paragraphs.Add
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = False
.Font.Size = 11
.Font.Color = wdColorAutomatic
End With
Rg.InsertAfter Dc.Content
Dc.Close False
MyFile = Dir()
Loop
Application.ScreenUpdating = True
End Sub
'----------------------------------
MichD
bonjour,
après de nombreux essais, je n'arrive pas à faire fonctionner le code si
dessus.
pour commencer:
à la ligne MyFile = Dir(MyPath & "*.do*") rien ne se passe .
Le 03/04/20 à 05:04, jujuetd63 a écrit :bonjour,Le jeudi 02 Avril 2020 à 16:02 par MichD :Bonjour,Bonjour,bonjour,
Voici un exemple de code. Tu mets ce code dans un module standard
d'Excel. La procédure ajoute dans un fichier de type Word, le contenu
des fichiers Word dans le répertoire spécifié. Amuse-toi
bien!
'----------------------------------
Sub test()
Dim Wd As Object, MyDoc As Object
Dim Rg As Object, Dc As Object
Dim MyPath As String, DocName As Object
Dim MyFile As String
'Chemin du répertoire où sont les différents fichiers
Word.
'Tous les fichiers de ce répertoire seront traités.
MyPath = "c:UsersYour_ProfileDocuments"
MyFile = Dir(MyPath & "*.do*")
Application.ScreenUpdating = False
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
'Le contenu de tous les fichiers sera ajouté
'à ce nouveau document.
Set MyDoc = Wd.Documents.Add
Do While MyFile <> ""
Set Dc = Wd.Documents.Open(MyPath & MyFile)
Set Rg = MyDoc.Content
Rg.Paragraphs.Add
Rg.InsertAfter Dc.Name
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = True
.Font.Size = 14
.Font.Color = vbBlue
End With
Rg.Paragraphs.Add
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = False
.Font.Size = 11
.Font.Color = wdColorAutomatic
End With
Rg.InsertAfter Dc.Content
Dc.Close False
MyFile = Dir()
Loop
Application.ScreenUpdating = True
End Sub
'----------------------------------
MichD
après de nombreux essais, je n'arrive pas à faire fonctionner le
code si
dessus.
pour commencer:
à la ligne MyFile = Dir(MyPath & "*.do*") rien ne se
passe .
MyPath est une variable contenant le chemin (répertoire) où sont
les
fichiers Word que tu veux rassembler dans un seul fichier Word.
Dans la procédure, la variable MyPath est définie ainsi :
MyPath = "c:UsersYour_ProfileDocuments"
Tu dois l'adapter selon ton environnement, ce chemin "MyPath" dans
l'exemple n'existe pas, c'est à toi de le définir afin d'indiquer
à la
procédure où sont ces fichiers Word sur ton ordinateur.
MichD
Le 03/04/20 à 05:04, jujuetd63 a écrit :bonjour,Le jeudi 02 Avril 2020 à 16:02 par MichD :Bonjour,Bonjour,bonjour,
Voici un exemple de code. Tu mets ce code dans un module standard
d'Excel. La procédure ajoute dans un fichier de type Word, le contenu
des fichiers Word dans le répertoire spécifié. Amuse-toi
bien!
'----------------------------------
Sub test()
Dim Wd As Object, MyDoc As Object
Dim Rg As Object, Dc As Object
Dim MyPath As String, DocName As Object
Dim MyFile As String
'Chemin du répertoire où sont les différents fichiers
Word.
'Tous les fichiers de ce répertoire seront traités.
MyPath = "c:UsersYour_ProfileDocuments"
MyFile = Dir(MyPath & "*.do*")
Application.ScreenUpdating = False
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
'Le contenu de tous les fichiers sera ajouté
'à ce nouveau document.
Set MyDoc = Wd.Documents.Add
Do While MyFile <> ""
Set Dc = Wd.Documents.Open(MyPath & MyFile)
Set Rg = MyDoc.Content
Rg.Paragraphs.Add
Rg.InsertAfter Dc.Name
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = True
.Font.Size = 14
.Font.Color = vbBlue
End With
Rg.Paragraphs.Add
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = False
.Font.Size = 11
.Font.Color = wdColorAutomatic
End With
Rg.InsertAfter Dc.Content
Dc.Close False
MyFile = Dir()
Loop
Application.ScreenUpdating = True
End Sub
'----------------------------------
MichD
après de nombreux essais, je n'arrive pas à faire fonctionner le
code si
dessus.
pour commencer:
à la ligne MyFile = Dir(MyPath & "*.do*") rien ne se
passe .
MyPath est une variable contenant le chemin (répertoire) où sont
les
fichiers Word que tu veux rassembler dans un seul fichier Word.
Dans la procédure, la variable MyPath est définie ainsi :
MyPath = "c:UsersYour_ProfileDocuments"
Tu dois l'adapter selon ton environnement, ce chemin "MyPath" dans
l'exemple n'existe pas, c'est à toi de le définir afin d'indiquer
à la
procédure où sont ces fichiers Word sur ton ordinateur.
MichD
Bonjour,bonjour,
je débute sur vba et je dois créer une application dans excel .
le but est du prendre le contenu de plusieurs documents word de les stocker
dans des variables dans excel puis de les combiner pour en faire un seul
document world.
exemple une lampe personnalisable
doc1 = type d'ampoule
doc2 = type de pied
doc3 = type bouton
doc final = notice de montage
Je dois créer au final un manuel de référence pour les
clients en fonction des chois de celui ci.
je sais comment je souhait structurer mon interface excel mais je ne connais
pas la syntaxe pour:
prendre le contenu d'un word
créer un doc word.
pouvez vous m'aider
merci
Bonjour,bonjour,
je débute sur vba et je dois créer une application dans excel .
le but est du prendre le contenu de plusieurs documents word de les stocker
dans des variables dans excel puis de les combiner pour en faire un seul
document world.
exemple une lampe personnalisable
doc1 = type d'ampoule
doc2 = type de pied
doc3 = type bouton
doc final = notice de montage
Je dois créer au final un manuel de référence pour les
clients en fonction des chois de celui ci.
je sais comment je souhait structurer mon interface excel mais je ne connais
pas la syntaxe pour:
prendre le contenu d'un word
créer un doc word.
pouvez vous m'aider
merci
Bonjour,bonjour,
Effectivement, tu as raison.
Le document que la procédure crée et qui reçoit le contenu
de tous les
autres documents Word du répertoire spécifié est vide. Par
conséquent,
l'exécution de la procédure bloque sur cette ligne de code
justement à
cause du fait que le document initial est vide au lancement de la
procédure. Le "Content" est inexistant.
Set Rg = MyDoc.Content
Pour remédier à la situation, j'ai simplement ajouté une
ligne de code
insérant la date en tout début du document. À la fin de la
procédure, tu
pourras effacer cette date si tu le désires.
'Le contenu de tous les fichiers sera ajouté
'à ce nouveau document.
Set MyDoc = Wd.Documents.Add
MyDoc.Range.Text = Date <<<<======Ligne de code ajoutée
Voici la nouvelle procédure incluant la ligne de code ajoutée.
'-------------------------------------------------
Sub test()
Dim Wd As Object, MyDoc As Object
Dim Rg As Object, Dc As Object
Dim MyPath As String, DocName As Object
Dim MyFile As String
'Chemin du répertoire où sont les différents fichiers
Word.
'Tous les fichiers de ce répertoire seront traités.
MyPath = "E:Documents"
MyFile = Dir(MyPath & "*.do*")
Application.ScreenUpdating = False
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
'Le contenu de tous les fichiers sera ajouté
'à ce nouveau document.
Set MyDoc = Wd.Documents.Add
MyDoc.Range.Text = Date
Do While MyFile <> ""
Set Dc = Wd.Documents.Open(MyPath & MyFile)
Set Rg = MyDoc.Content
Rg.Paragraphs.Add
Rg.InsertAfter Dc.Name
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = True
.Font.Size = 14
.Font.Color = vbBlue
End With
Rg.Paragraphs.Add
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = False
.Font.Size = 11
.Font.Color = wdColorAutomatic
End With
Rg.InsertAfter Dc.Content
Dc.Close False
MyFile = Dir()
Loop
Application.ScreenUpdating = True
End Sub
'-------------------------------------------------
MichD
Bonjour,bonjour,
Effectivement, tu as raison.
Le document que la procédure crée et qui reçoit le contenu
de tous les
autres documents Word du répertoire spécifié est vide. Par
conséquent,
l'exécution de la procédure bloque sur cette ligne de code
justement à
cause du fait que le document initial est vide au lancement de la
procédure. Le "Content" est inexistant.
Set Rg = MyDoc.Content
Pour remédier à la situation, j'ai simplement ajouté une
ligne de code
insérant la date en tout début du document. À la fin de la
procédure, tu
pourras effacer cette date si tu le désires.
'Le contenu de tous les fichiers sera ajouté
'à ce nouveau document.
Set MyDoc = Wd.Documents.Add
MyDoc.Range.Text = Date <<<<======Ligne de code ajoutée
Voici la nouvelle procédure incluant la ligne de code ajoutée.
'-------------------------------------------------
Sub test()
Dim Wd As Object, MyDoc As Object
Dim Rg As Object, Dc As Object
Dim MyPath As String, DocName As Object
Dim MyFile As String
'Chemin du répertoire où sont les différents fichiers
Word.
'Tous les fichiers de ce répertoire seront traités.
MyPath = "E:Documents"
MyFile = Dir(MyPath & "*.do*")
Application.ScreenUpdating = False
Set Wd = CreateObject("Word.Application")
Wd.Visible = True
'Le contenu de tous les fichiers sera ajouté
'à ce nouveau document.
Set MyDoc = Wd.Documents.Add
MyDoc.Range.Text = Date
Do While MyFile <> ""
Set Dc = Wd.Documents.Open(MyPath & MyFile)
Set Rg = MyDoc.Content
Rg.Paragraphs.Add
Rg.InsertAfter Dc.Name
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = True
.Font.Size = 14
.Font.Color = vbBlue
End With
Rg.Paragraphs.Add
Set DocName = Rg.Paragraphs(Rg.Paragraphs.Count).Range
With DocName
.Font.Bold = False
.Font.Size = 11
.Font.Color = wdColorAutomatic
End With
Rg.InsertAfter Dc.Content
Dc.Close False
MyFile = Dir()
Loop
Application.ScreenUpdating = True
End Sub
'-------------------------------------------------
MichD
Bonjour,bonjour,
je débute sur vba et je dois créer une application dans excel .
le but est du prendre le contenu de plusieurs documents word de les stocker
dans des variables dans excel puis de les combiner pour en faire un seul
document world.
exemple une lampe personnalisable
doc1 = type d'ampoule
doc2 = type de pied
doc3 = type bouton
doc final = notice de montage
Je dois créer au final un manuel de référence pour les
clients en fonction des chois de celui ci.
je sais comment je souhait structurer mon interface excel mais je ne connais
pas la syntaxe pour:
prendre le contenu d'un word
créer un doc word.
pouvez vous m'aider
merci
Bonjour,bonjour,
je débute sur vba et je dois créer une application dans excel .
le but est du prendre le contenu de plusieurs documents word de les stocker
dans des variables dans excel puis de les combiner pour en faire un seul
document world.
exemple une lampe personnalisable
doc1 = type d'ampoule
doc2 = type de pied
doc3 = type bouton
doc final = notice de montage
Je dois créer au final un manuel de référence pour les
clients en fonction des chois de celui ci.
je sais comment je souhait structurer mon interface excel mais je ne connais
pas la syntaxe pour:
prendre le contenu d'un word
créer un doc word.
pouvez vous m'aider
merci
dans le doc final toutes les images ont disparues
savez comment je peux régler le problème.
merci
bonne journée
dans le doc final toutes les images ont disparues
savez comment je peux régler le problème.
merci
bonne journée
dans le doc final toutes les images ont disparues
savez comment je peux régler le problème.
merci
bonne journée