Re : Automatiser Un MAcro pour des fichiers Excel.
bonjour camarchepas;
voiçi une partie de mon macro excel , j'ai réussi à executer le macro automatiquement apres chaque 1seconde de l ouverture du fichier excel ç l aide de la fonction "RUN' ; m
Dim TimeToRun
Sub Aut
pen()
Call scheduleJb
End Sub
Sub scheduleJb()
TimeToRun = Now + TimeValue("00:00:01")
Application.OnTime TimeToRun, "MacroAutoJB"
End Sub
Sub MacroAutoJB()
'nécéssite d'activer la référence Microsoft Word xx.x Object Library
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Dim oWdApp As Object 'Lancer Word
Dim i As Byte
Dim sChemin As String
On Error Resume Next
Dim nom As String
On Error Resume Next
Dim j As Integer
j = ActiveSheet.UsedRange.Rows.Count
Dim n As Byte
n = Cells(1, Columns.Count).End(xlToLeft).Column
If ActiveWorkbook.Name Like "Class*.xls" Then ' Condition selon les noms des fichiers excel
Set WordDoc = WordApp.Documents.Open("C:\Documents and Settings\
User\My Documents\Class_fich.doc") 'ouvre document Word
Set oWdApp = CreateObject("Word.Application")
Set WordDoc = oWdApp.Documents.Open("C:\Documents and Settings\
User\My Documents\Class_fich.doc")
For i = 1 To n
WordDoc.Bookmarks("Sig" & i).Range.Text = Cells(j, i) ' les signets du document Word sont nommés Sig1 , Sig2 , Sig3 ...
Next i
WordDoc.Bookmarks("Signet").Range.Text = Cells(j, 2) 'l entete du fichier WORD ou le nom du formulaire est attribuée a "Signet"
WordDoc.SaveAs Filename:=nom & ".doc" ' enregistre le nouveau doc word selon le nom de la 2 eme colonne du fichier excel
WordApp.Visible = False
End If
Next j
...
Mes besoins sont:
1/ est ce que je peut rendre le chemin des fichiers excel generuique , puisque ce macro va etre utilisé par multi utilisateurs dans differentes machines??
2/ Est ce que je peut exucuter ce macro SANS ouvrir les fichiers excel ??
3/ce macro enregistre les fichiers tyrétés sous un nom varible " nom.doc" , ce nom contient parfois des caracteres speciaux comme " : " , donc je trouve des problemes et le macro s arrete, est ce que je peut eliminer ces caracteres speciaux ou bien ya d autre solution ?
4/ Mon macro , si vous remarqué , enregistre chaque ligne du fichier excel dans in nouveau document word , et comme resultat j obtient n document word ouvert = n lignes du fichiers excel , alors que je veut vbien si c possible , enregistré ces lignes dans un Seul DOCUMENT mais des fenetres differentes ( ou des pages differentes, au lieu d ajouter un document on ajoute une nouvelle page ) ??
Merci beaucoup pour votre aide