got31
Messages postés2Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention22 juin 2005
-
21 juin 2005 à 15:18
got31
Messages postés2Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention22 juin 2005
-
22 juin 2005 à 08:59
Bonjour à tous!
Voila, j'ai un souci!J'ai écris un script vb 6 pour pouvoir passer un tableau word sur une feuille excel et la paginer automatiquement.
Mais voila, ce code fonctionne trés bien lorsque aucun autre document word n'est ouvert! Dans le cas contraire , c'est le premier document word qui a été ouvert qui sera copié dans ma feuille excel! Je pense qu'il s'agit d'une histoire activedocument mais je ne vois pas comment faire ! Merci d'avance
Voici le code :
Sub Main()
'Penser à lancer les références de word et excel
Dim monwd As Object
Dim mondoc As Object
Dim Xl As excel.Applicationdim cheminacces As String
Dim cheminacces_final As String
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 20097 21 juin 2005 à 18:14
Essaie ça.
Clipboard.clear ne fonctionne pas chez moi (Office 2003 ??)
Sub Main()
'Penser à lancer les références de word et excel
Dim monwd As Object
Dim mondoc As Object
Dim cheminacces As String
Dim cheminacces_final As String
Dim ls_MonDoc As String
Dim l_Workbook As Excel.Workbook
Dim l_Sheet As Excel.Worksheet
Dim l_App As Excel.Application
cheminacces = "[file://windows/gestion/ \\windows\gestion\]" & Dir("\\ windows\gestion\*.doc")
cheminacces_final = Replace(cheminacces, ".doc", ".xls")
'Ouvrir Word
Set monwd = CreateObject("Word.Application")
'Ouvre en lecture seule
Set mondoc = monwd.Documents.Open(cheminacces, , True)
ls_MonDoc = mondoc.Name
'monwd.Visible = True
'copier le document
mondoc.Range.Copy
Set l_App = New Excel.Application
Set l_Workbook = Workbooks.Add
Set l_Sheet = l_Workbook.Worksheets(1)
'copie dans la feuille excel
l_Sheet.Paste
'vider le presse papier
Clipboard.Clear
'fermeture du doc word
mondoc.Close
'fermeture de word
monwd.Quit
Set monwd = Nothing
'suppression du fichier .doc
Kill cheminacces
'insertion des lignes
l_Sheet.Rows(1).Insert Shift:=xlDown
l_Sheet.Rows(2).Insert Shift:=xlDown
'mise en forme
l_Sheet.UsedRange.Font.Size = 10
With l_Sheet.Range(Cells(1, 1), Cells(1, 16))
.MergeCells = True
.Interior.ColorIndex = 1
.Font.Bold = True
.Font.Size = 14
.Font.ColorIndex = 2
.Value = Replace(ls_MonDoc, ".doc", "")
End With
With l_Sheet.Range(Cells(3, 1), Cells(3, 16))
.Interior.ColorIndex = 36
.Font.Size = 12
End With
'sauvegarde du .xls
l_Workbook.SaveAs Filename:=cheminacces_final, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
l_Workbook.Close
l_App.Quit
Set l_Sheet = Nothing
Set l_Workbook = Nothing
Set l_App = Nothing
End Sub
got31
Messages postés2Date d'inscriptionmercredi 15 juin 2005StatutMembreDernière intervention22 juin 2005 22 juin 2005 à 08:59
Ton code répond tout a fait a ce que je voulais !merci beaucoup!
Maintenant je peux lancer mon script et même avec d'autre .doc ouvert en simultané, il ne s'occupe que de mon.doc.
Merci encore.