Medgueye
Messages postés62Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention20 juin 2009
-
2 janv. 2008 à 11:58
cs_Le Pivert
Messages postés7903Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention11 mars 2024
-
6 mai 2010 à 08:14
bonjour à tous
j'ai une fonction qui permet d'inprimer le contenu d'un MSFlexGrid dans un fichier word
voila le code de mo, bouton imprimer:
Private Sub imprim_Click()
'Early object binding
Dim oWord As Word.Application
'Dim oDoc As Word.Document
Dim oRange As Word.Range
'Uncomment below for late object binding
'Dim oWord As Object
'Dim oDoc As Object
'Dim oRange As Object
Dim row As Integer
Dim col As Integer
Dim i As Integer
Dim n As Integer
Dim sTemp As String
Dim arr() As String
ReDim arr(liste.Rows - 1, liste.Cols - 1)
'Créer une instance de word
Set oWord = CreateObject("Word.Application")
oWord.Documents.Open App.Path & "\document\devis.doc"
oWord.ShowMe
'rendre le document word visible
oWord.Visible = True
For row = 0 To liste.Rows - 1
n = 0
For col = 0 To liste.Cols - 1
arr(i, n) = liste.TextMatrix(row, col)
n = n + 1
Next
i = i + 1
Next
'ENregistrer sur un tableau
For i = LBound(arr, 1) To UBound(arr, 1)
For n = LBound(arr, 2) To UBound(arr, 2)
sTemp = sTemp & arr(i, n)
If n = UBound(arr, 2) Then
sTemp = sTemp & vbCrLf
Else
sTemp = sTemp & vbTab
End If
Next
Next
'Avoir l'emplacelent sur le document
Set oRange = oWord.Selection.Bookmarks("\EndOfDoc").Range
oRange.Text = sTemp
'Convertire le format et le texte
oRange.ConvertToTable 'vbTab, Format:=wdTableFormatColorful2
End Sub
le probleme est que le texte Bonjour le monde ne sera pas ecrit en bas de mon tableau mais plutot dans la 1ere case du tableau en haut
Est ce qlq' un a une idée de ce probleme?
cs_Le Pivert
Messages postés7903Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention11 mars 2024137 5 mai 2010 à 11:00
Bonjour,
Le problème se situe au niveau de la sélection du texte. J'ai essayé ce code dans Word en ayant sélectionné la fin de la dernière ligne
manuellement et cela marche:
cs_Le Pivert
Messages postés7903Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention11 mars 2024137 6 mai 2010 à 08:14
Sélectionner et écrire dans le bas de la page du document depuis excel:
Sub selection()
Dim oWord As Word.Application
'Créer une instance de word
Set oWord = CreateObject("Word.Application")
oWord.Documents.Open "chemin du fichier.doc"
oWord.ShowMe
'rendre le document word visible
oWord.Visible = True
'sélection
oWord.Selection.EndOf Unit:=wdStory, Extend:=wdMove 'sélectionner le bas de page
oWord.ActiveWindow.ActivePane.VerticalPercentScrolled = 9
oWord.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
oWord.Selection.TypeText "Bonjour le monde"