OVH Cloud OVH Cloud

Macro excel word

3 réponses
Avatar
Fabien
Bonjour =E0 tous,

Je souhaite persdonnaliser des documents word.
Pour cela j'ai un fichier Excel qui contient 2 colonnes.
La premi=E8re colonne de ce fichier Excel contient le texte=20
qui doit figurer dans le document word et la seconde=20
colonne comprend le nom du fichier qui sera attribu=E9 au=20
fichier word g=E9n=E9r=E9.

Ex : (fichier excel)
--


texte | nom
_______________|___________________
blablablabla |fichier1.doc
_______________|___________________
blibliblibli |fichier2.doc


Dans cet exemple, je veux g=E9n=E9rer un document word nomm=E9=20
fichier1.doc et je veux qu'il contienne le=20
texte "blablablabla"=20
et ainsi de suite avec fichier2.doc contenant le=20
texte "bliblibli".

Est-il possible de cr=E9er une macro qui fasse cela

Merci d'avance pour votre aide ...

Fabien

3 réponses

Avatar
j
pas testé

Sub truc()
Set ww = CreateObject("word.application")
ww.Visible = True 'pas obligatoire

for lin=1 to range("a:a").cells.find("*",,,,,xlprevious)
set dct=ww.documents.Add
ww.Selection.typetext cells(lin,1)
dct.saveas cells(lin,2) 'adresse complete du fichier
dct.close
next

ww.quit
End Sub


http://jacxl.free.fr/



"Fabien" a écrit dans le message de news:
002b01c3ade7$92d8d3c0$
Bonjour à tous,

Je souhaite persdonnaliser des documents word.
Pour cela j'ai un fichier Excel qui contient 2 colonnes.
La première colonne de ce fichier Excel contient le texte
qui doit figurer dans le document word et la seconde
colonne comprend le nom du fichier qui sera attribué au
fichier word généré.

Ex : (fichier excel)
--


texte | nom
_______________|___________________
blablablabla |fichier1.doc
_______________|___________________
blibliblibli |fichier2.doc


Dans cet exemple, je veux générer un document word nommé
fichier1.doc et je veux qu'il contienne le
texte "blablablabla"
et ainsi de suite avec fichier2.doc contenant le
texte "bliblibli".

Est-il possible de créer une macro qui fasse cela

Merci d'avance pour votre aide ...

Fabien
Avatar
fabien
Merci pour la reponse mais le code ne focntionne pas.

La macro ouvre bien un document word mais au moment de
coller le texte elle plante.

J'ai egalement essayé uniquement d'enregistrer le
document sans texte mais c'est pareil la macro plante .

Y a-t-il quelquechose à coriger dans code ?

Merci d'avance.



-----Message d'origine-----
pas testé

Sub truc()
Set ww = CreateObject("word.application")
ww.Visible = True 'pas obligatoire

for lin=1 to range("a:a").cells.find("*",,,,,xlprevious)
set dct=ww.documents.Add
ww.Selection.typetext cells(lin,1)
dct.saveas cells(lin,2) 'adresse complete du fichier
dct.close
next

ww.quit
End Sub


http://jacxl.free.fr/



"Fabien" a écrit dans le
message de news:

002b01c3ade7$92d8d3c0$
Bonjour à tous,

Je souhaite persdonnaliser des documents word.
Pour cela j'ai un fichier Excel qui contient 2 colonnes.
La première colonne de ce fichier Excel contient le texte
qui doit figurer dans le document word et la seconde
colonne comprend le nom du fichier qui sera attribué au
fichier word généré.

Ex : (fichier excel)
--


texte | nom
_______________|___________________
blablablabla |fichier1.doc
_______________|___________________
blibliblibli |fichier2.doc


Dans cet exemple, je veux générer un document word nommé
fichier1.doc et je veux qu'il contienne le
texte "blablablabla"
et ainsi de suite avec fichier2.doc contenant le
texte "bliblibli".

Est-il possible de créer une macro qui fasse cela

Merci d'avance pour votre aide ...

Fabien


.



Avatar
j
désolé, j'avais écrit un peu vite, il manquait quelque trucs...

Sub truc()
Set ww = CreateObject("word.application")
ww.Visible = True 'pas obligatoire

For lin = 1 To Range("a:a").Cells.Find("*", , , , , xlPrevious).Row
Set dct = ww.documents.Add
ww.Selection.typetext Cells(lin, 1).Text
dct.SaveAs Cells(lin, 2) 'adresse complete du fichier
dct.Close
Next

ww.Quit
End Sub


"fabien" a écrit dans le message de news:
085801c3ae89$7af75d10$
Merci pour la reponse mais le code ne focntionne pas.

La macro ouvre bien un document word mais au moment de
coller le texte elle plante.

J'ai egalement essayé uniquement d'enregistrer le
document sans texte mais c'est pareil la macro plante .

Y a-t-il quelquechose à coriger dans code ?

Merci d'avance.



-----Message d'origine-----
pas testé

Sub truc()
Set ww = CreateObject("word.application")
ww.Visible = True 'pas obligatoire

for lin=1 to range("a:a").cells.find("*",,,,,xlprevious)
set dct=ww.documents.Add
ww.Selection.typetext cells(lin,1)
dct.saveas cells(lin,2) 'adresse complete du fichier
dct.close
next

ww.quit
End Sub


http://jacxl.free.fr/



"Fabien" a écrit dans le
message de news:

002b01c3ade7$92d8d3c0$
Bonjour à tous,

Je souhaite persdonnaliser des documents word.
Pour cela j'ai un fichier Excel qui contient 2 colonnes.
La première colonne de ce fichier Excel contient le texte
qui doit figurer dans le document word et la seconde
colonne comprend le nom du fichier qui sera attribué au
fichier word généré.

Ex : (fichier excel)
--


texte | nom
_______________|___________________
blablablabla |fichier1.doc
_______________|___________________
blibliblibli |fichier2.doc


Dans cet exemple, je veux générer un document word nommé
fichier1.doc et je veux qu'il contienne le
texte "blablablabla"
et ainsi de suite avec fichier2.doc contenant le
texte "bliblibli".

Est-il possible de créer une macro qui fasse cela

Merci d'avance pour votre aide ...

Fabien


.