WordDoc.Tables.Add( un tableau apres paragraphe [Résolu]

dier94 2 Messages postés mercredi 5 octobre 2005Date d'inscription 7 octobre 2005 Dernière intervention - 6 oct. 2005 à 09:35 - Dernière réponse : dier94 2 Messages postés mercredi 5 octobre 2005Date d'inscription 7 octobre 2005 Dernière intervention
- 7 oct. 2005 à 08:36
Bonjour,


j'ai besoin d'insérer un tableau après un paragraphe mais avec ce code le tableau écrase le paragraphe je suppose qu'il recrée mon doc, il y a t'il une solution et pourquoi ça ne marche pas


merci d'avance



dim WordApp, WordDoc, oTable


Set WordApp = CreateObject("word.application")


WordApp.Application.Visible = false


Set WordDoc = WordApp.Documents.Add()

Set Mypar1 = WordDoc.Paragraphs.Add

set MyRange1 = Mypar1.range

MyRange1.insertafter("FEUILLE DE PRESENCE A LA FORMATION " & vbcrlf)


MyRange1.Style = "Normal"
MyRange1.Bold = true
MyRange1.ParagraphFormat.Alignment = 1


Set oTable = WordDoc.Tables.Add(WordDoc.Range, 2, 2)



oTable.Cell(1, 1).Range.Text = "blabla, tructruc"



Set newpar = WordDoc.Paragraphs.Add
set newrange = newpar.range


with newrange
.Bold = false
.Italic = false
.Font.Name = "Times New Roman"
.Font.size = "12"
end with

newrange.insertafter("Le ou les formateur(s) : " & vbcrlf )

WordDoc.SaveAs server.mapPath("temp2.doc")

WordDoc.Close
WordApp.Quit


Set WordDoc = Nothing
Set WordApp = Nothing


response.redirect "temp2.doc"
Afficher la suite 

2 réponses

Meilleure réponse
Tuning Max 316 Messages postés mercredi 15 juin 2005Date d'inscription 31 août 2006 Dernière intervention - 6 oct. 2005 à 17:19
3
Merci
Bon voilà! Je me suis permis de modifier légèrement ton code et il semble que cela fonctionne correctement. Dis moi si cela fonctionne aussi pour toi, merci
En espérant avoir put aider.

Sub Macro2()
Dim WordApp As Application, WordDoc As Document, myRange As Range
Dim Mypar1 As Paragraph, MyRange1 As Range, newpar As Paragraph, newrange As Range

' Chargement d'une nouvelle instance de l'application Word masqué
Set WordApp = CreateObject("word.application")
WordApp.Application.Visible = False

' Création d'un nouveau document et paragraphe
Set WordDoc = WordApp.Documents.Add()
Set Mypar1 = WordDoc.Paragraphs.Add
Set MyRange1 = Mypar1.Range
' Insertion du titre et mise en forme
With MyRange1
.InsertAfter ("FEUILLE DE PRESENCE A LA FORMATION " & vbCrLf)
.Style = "Normal"
.Bold = True
.ParagraphFormat.Alignment = 1
End With
' Définition de la zone d'insertion du tableau
Set myRange = WordDoc.Range(Start:=36, End:=36)
' Création du tableau et insertion d'un texte dans la première cellule
With WordDoc
.Tables.Add Range:=myRange, NumRows:=2, NumColumns:=2
.Tables(1).Cell(1, 1).Range.Text = "blabla, tructruc"
End With
' Création d'un nouveau paragraphe
Set newpar = WordDoc.Paragraphs.Add
Set newrange = newpar.Range
' Insertion d'un texte et mise en forme
With newrange
.InsertAfter ("Le ou les formateur(s) : " & vbCrLf)
.Bold = False
.Italic = False
.Font.Name = "Times New Roman"
.Font.Size = "12"
End With
' Sauvegarde
WordDoc.SaveAs ("c:\temp\temp2.doc")
' Fermeture et déchargement mémoire
WordDoc.Close
WordApp.Quit


Set WordDoc = Nothing
Set WordApp = Nothing


End Sub

Merci Tuning Max 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

dier94 2 Messages postés mercredi 5 octobre 2005Date d'inscription 7 octobre 2005 Dernière intervention - 7 oct. 2005 à 08:36
0
Merci
Oui je te remercie, j’ai du aussi modifier un peu ton code car je partais d’une page en asp et c’était du vbscript, mais hier j’avais contourné le problème en transformant une page asppuis html en doc avec


<%Response.ContentType = "application/msword"%>

en tout cas j’ai vu que c’était possible

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.