Imprimer un document word avec les données de certaines cellules d'excel

olivier_bahrein

XLDnaute Junior
Bonjour,

J'ai un modèle de document word (note de service.doc).

Je souhaiterias l'ouvrir à partir d'excel et y coller à certains endroits, le contenu de certaines cellules.

-Comment ouvrir word avec ce nom de fichier ?
-comment insérer ces champs aux endroits où je le souhaite ?
- comment enregistrer ce document word avec un autre nom (exemple: note de service + date du jour)
- comment imprimer ce document word et fermer word ?

Le tout dans une procédure bouton_click d'excel.

Merci de votre aide.

Olivier./.
 

olivier_bahrein

XLDnaute Junior
Re : Imprimer un document word avec les données de certaines cellules d'excel

olivier_bahrein à dit:
Bonjour,

J'ai un modèle de document word (note de service.doc).

Je souhaiterias l'ouvrir à partir d'excel et y coller à certains endroits, le contenu de certaines cellules.

-Comment ouvrir word avec ce nom de fichier ?
-comment insérer ces champs aux endroits où je le souhaite ?
- comment enregistrer ce document word avec un autre nom (exemple: note de service + date du jour)
- comment imprimer ce document word et fermer word ?

Le tout dans une procédure bouton_click d'excel.

Merci de votre aide.

Olivier./.


Je viens de trouver un code qui répond en partie à mes demandes mais j'ai encore quelques peits soucis:


'
Private Sub BtNoteService_Click()
Dim LaLettre As String
Dim LeMontant
Dim LeTexte2
Dim ObjWord As Word.Application
Dim LeDocWord As Word.Document

On Error Resume Next

LaLettre = ThisWorkbook.Path & "\jourof.doc"
Set ObjWord = CreateObject("Word.Application")
ObjWord.Visible = True
Set LeDocWord = ObjWord.Documents.Open(LaLettre)
LeMontant = [C5]
LeTexte2 = [C6]
With LeDocWord
'Le nom du signet dans le document word est ici "Monsignet1"
.Bookmarks("Monsignet1").Range.Text = LeMontant
'Le nom du signet dans le document word est ici "Monsignet2"
.Bookmarks("Monsignet2").Range.Text = LeTexte2
End With
End Sub


Donc avec ce code: deux problèmes:

1- j'ai une erreur sur la déclaration des variables:
Dim ObjWord As Word.Application
Dim LeDocWord As Word.Document

"erreur de compliation, type défini par l'utilisateur non défini"


2- les cellules C5 et C6 contiennent des dates au format "jeudi 2 novembre 2006" (soit jjjj j mmmm aaaa) mais lorsque ces cellules sont importées dans les signets word, le format revient à jj/mm/aa ce que je ne souhaite pas.


Pouvez vous m'indiquer comment corriger ces problèmes ?

Merci,

Olivier./.
 

olivier_bahrein

XLDnaute Junior
Re : Imprimer un document word avec les données de certaines cellules d'excel

Oui c'était ça ! merci beaucoup !!!


Pour le second point

Comment faire pour mettre la valeur d'une cellule excel (qui est une date) dans un signet de word tout en conservant le même format (jjjj j mmmm aaaa).

Word change le format de la date dans ma cellule excel en jj/mm/aa quand j'importe le contenu de la cellule excel.

Merci,

Olivier./.
 

michel_m

XLDnaute Accro
Re : Imprimer un document word avec les données de certaines cellules d'excel

Re,

excuses, j'avais lu ta question 2 mais il fallait que j'aille fouiner dans mon grenier XL pour te répondre...

Pour ma part je n'utilise pas le signet dans mais une zone texte (formfields) avec la barre d'outils "formulaire"
en double cliquant desus tu choisis le type "date" et la présentation que tu désires
il y a un autre moyen en basculant les codes de champ mais ma bidouille évite d'écrire...
 

olivier_bahrein

XLDnaute Junior
Re : Imprimer un document word avec les données de certaines cellules d'excel

michel_m à dit:
Re,

excuses, j'avais lu ta question 2 mais il fallait que j'aille fouiner dans mon grenier XL pour te répondre...

Pour ma part je n'utilise pas le signet dans mais une zone texte (formfields) avec la barre d'outils "formulaire"
en double cliquant desus tu choisis le type "date" et la présentation que tu désires
il y a un autre moyen en basculant les codes de champ mais ma bidouille évite d'écrire...


Cela m'a l'air parfait, merci, j'essaie avec formfiels.
Le code pour le remplir c'est activedocument.formfields.value = range("toto") ?

Merci
 

olivier_bahrein

XLDnaute Junior
Re : Imprimer un document word avec les données de certaines cellules d'excel

michel_m à dit:
.ActiveDocument.FormFields("nom du signet de ta formfield").Result = range("toto")
merci pour ton info.

Ta proposition est séduisante. j'ai cependant des difficultés à la mettre en place:

J'ai créé deux champs texte avec la barre formulaire dont le format est date et le nom de signet "texte1" et "texte2". (je les vois bien en visualisation puisque 5 petits o se sont mis aux endroits des signets).

Voici ma procédure:

Code:
 Private Sub BtNoteService_Click()
 Dim LaLettre As String
 Dim LeMontant
 Dim LeTexte2
 Dim ObjWord As Word.Application
 Dim LeDocWord As Word.Document
 
 On Error Resume Next
 
 LaLettre = ThisWorkbook.Path & "\jourof2.doc"
 Set ObjWord = CreateObject("Word.Application")
 ObjWord.Visible = True
 Set LeDocWord = ObjWord.Documents.Open(LaLettre)
 
 LeMontant = [c20] 'range("c20") d'excel contenant une date
 LeTexte2 = [c21] 'range("c21") d'excel contenant une date
 
 With LeDocWord
   .Bookmarks("Texte1").Range.Text = LeMontant
   .Bookmarks("Texte2").Range.Text = LeTexte2
 End With
 
 LeDocWord.Save
 ObjWord.Quit
 
 Set ObjWord = Nothing
 End Sub


Mais cela ne fonctionne pas, word s'ouvre mais les champs (signets texte1 et texte2 ne se mettent pas à jour).

J'ai essayé avec tes infos:
.ActiveDocument.FormFields("texte1").Result = LeMontant
.ActiveDocument.FormFields("texte2").Result = LeTexte2


mais pas plus de succès.

Où est mon erreur ?


Merci,

Olivier./.
 
Dernière édition:

olivier_bahrein

XLDnaute Junior
Re : Imprimer un document word avec les données de certaines cellules d'excel

michel_m à dit:
re-re,

Désolé, pas beaucoup de temps cet aprèm

Je te mets en PJ l'extrait du grenier (ca marche)


MERCI
Vu, c'est génial, avec cela, je vais trouver ma solution.

Dis donc, il est pas mal ton grenier..... Surtout que tu arrives à retrouver les infos pertinentes par sujet. Tu es bien organisé !!!

Merci,

Olivier./.
 

Foufoudora

XLDnaute Occasionnel
Re : Imprimer un document word avec les données de certaines cellules d'excel

Salut Olivier et Michel_M

je suis intéressé par ce fil

Michel ton fichier ne fonctionne pas chez moi je suis sous excel 2003 Pro
il bugg sur cette ligne
.Selection.TypeText (insert1)

S.T.P peux-tu me dire qu'est ce que je dois faire.

Merci par avance

Foufoudora
 

olivier_bahrein

XLDnaute Junior
Re : Imprimer un document word avec les données de certaines cellules d'excel

Foufoudora à dit:
Salut Olivier et Michel_M

je suis intéressé par ce fil

Michel ton fichier ne fonctionne pas chez moi je suis sous excel 2003 Pro
il bugg sur cette ligne
.Selection.TypeText (insert1)

S.T.P peux-tu me dire qu'est ce que je dois faire.

Merci par avance

Foufoudora

Oui, j'ai la même erreur que Foufoudora !!!
 

Discussions similaires

Statistiques des forums

Discussions
312 209
Messages
2 086 267
Membres
103 168
dernier inscrit
isidore33