![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: août 2005
Localisation: Namur
Messages: 311
|
Bonjour,
Un userform dans une feuille .xls....OK, pas de problème. Comment importer les données de l'USF dans un modèle word aux emplacements prévus("signets" ) de ce doc ? Auriez vous un petit exemple qui pourrait m'aider? Merci d'avance et bon dimanche. Claudy |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Occasionel
Date d'inscription: septembre 2006
Localisation: Quiberon
Messages: 466
|
Bonjour à tous,
As tu essayé: activedocument.bookmarks("le nom de ton signet").InsertAfter textbox1 (si tes données à transférer se trouve ds un textbox)? Bonne journée |
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Impliqué
Date d'inscription: février 2005
Messages: 640
|
Bonjour Claudy, bonjour Joss
![]() Je me permets de proposer ma p'tite méthodologie pour écrire dans word. Pour ce type de besoin, je crée un document word qui me sert de modèle (ici dans l'exemple ModèleDocument.doc, situé dans un sous répertoire Document), si besoin avec signet (nommé ici "SIGNET_A CREER_DANS_DOCUMENT_WORD") et tableau (ici un seul tableau donc wordDoc.tables(1)). Dans un premier temps, la macro crée une instance Word et ouvre le modèle : Code:
Sub Vers_Word()
Dim NDF As String, NDF2 As String
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
NDF = ActiveWorkbook.Path & "\ModèleDocument.doc"
NDF2 = ActiveWorkbook.Path & "\Document" & Sheets("Feuil1").Range("A1").text & ".doc"
On Error Resume Next
Set WordApp = CreateObject("Word.Application")
Set WordDoc = WordApp.Documents.Open(NDF, ReadOnly:=False)
Puis il convient d'écrire les données : * pour écrire à partir du signet "SIGNET_A CREER_DANS_DOCUMENT_WORD" (ici le contenu de la cellule A2 : Code:
With WordApp
.Visible = False
.Selection.Goto What:=wdGoToBookmark, Name:="SIGNET_A CREER_DANS_DOCUMENT_WORD"
.Selection.TypeText Text:= Sheets("Feuil1").Range("A2").Value
Code:
With WordDoc.Tables(1)
.Cell(1, 2).Range.InsertAfter Sheets("Feuil1").Range("A3").Value
End With
Code:
WordDoc.Application.ActiveDocument.SaveAs NDF2 Code:
WordApp.Application.Quit
Set WordDoc = Nothing
Set WordApp = Nothing
Ce qui donne au global : Code:
Sub Vers_Word()
Dim NDF As String, NDF2 As String
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
NDF = ActiveWorkbook.Path & "\ModèleDocument.doc"
NDF2 = ActiveWorkbook.Path & "\Document" & Sheets("Feuil1").Range("A1").text & ".doc"
On Error Resume Next
Set WordApp = CreateObject("Word.Application")
Set WordDoc = WordApp.Documents.Open(NDF, ReadOnly:=False)
With WordApp
.Visible = False
.Selection.Goto What:=wdGoToBookmark, Name:="SIGNET_A CREER_DANS_DOCUMENT_WORD"
.Selection.TypeText Text:= Sheets("Feuil1").Range("A2").Value
With WordDoc.Tables(1)
.Cell(1, 2).Range.InsertAfter Sheets("Feuil1").Range("A3").Value
End With
End With
WordDoc.Application.ActiveDocument.SaveAs NDF2
WordApp.Application.Quit
Set WordDoc = Nothing
Set WordApp = Nothing
End Sub
Pour adapter à partir d'un Usf, il suffit de remplacer les contenus des cellules par les valeurs des champs de l'Usf (macro dans le code de l'Usf également) et le tour est joué! Bon ouikend
__________________
Visitez le Blog-à-tatiak! |
|
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| Importer de SQL vers EXCEL puis vers MACRO | kolivier | Forum Excel | 18 | 09/11/2007 10h35 |
| Boucle While Textbox1 vers colonne1, tb2 vers col2 etc ?? | Jeanbulle | Forum Excel | 2 | 07/08/2007 23h18 |
| Copier une ligne vers une autre sheet excel et ensuite vers l'imprimante | beegees | Forum Excel | 2 | 24/06/2007 18h01 |
| vers un copier vers le haut à partir de plusieurs feuiles | luluberlu | Forum Excel Downloads - Archives | 0 | 24/02/2004 20h22 |
| tri colA vers B et B vers A | cmoidoudou | Forum Excel Downloads - Archives | 6 | 16/04/2003 14h45 |