Erreur du macro en activon plusieurs fichier EXCEL simultanement

jabrane

XLDnaute Nouveau
Bonjour;
j'ai créer un macro excel , qui se lance a automatiquement a chaque ouverture d un nouveau fichier excel . le probleme que si on ouvre plusierus fichiers excel simultanement ; le macro " se plante" et voila ques qui m affiche comme ereeur: "microsoft excel attend la fin de l execution d une autre action OLE d une autre application"
SVP , y a t il une solution ?? j'ai pas le choix dans l ouverture des fichier excel puisque c automatique , à chaque export d un nouveau fichier depuis une base de données . merci pour votre aide
 

zorglubxp

XLDnaute Junior
Re : Erreur du macro en activon plusieurs fichier EXCEL simultanement

Bonsoir,

Visiblement, tu n'es pas très fort en grammaire, conjugaison, orthographe, dactylographie, mais suffisamment en Excel pour pouvoir faire des macros.
Je ne suis pas depuis très longtemps sur ce forum, mais si tu veux pouvoir être aidé par la communauté, il faut que tu faces quelques efforts.
T'appliquer sur la construction des phrases et la syntaxe. On peut tolérer quelques fautes, mais là, tu y vas fort. De plus pour revenir à ton problème, peut-être que le contenu de ta macro pourrait aider dans sa résolution.
Écris le code ou joint ton fichier qui pose problème.

cdlt,
 

jabrane

XLDnaute Nouveau
Re : Erreur du macro en activon plusieurs fichier EXCEL simultanement

Bonjour zorglubxp;
j'ai créé une macro Excel, qui se lance a automatiquement a l’ouverture d un classeur. le problème c’est en ouvrons plusieurs fichiers ou classeurs Excel simultanément ; la macro se lance et traite un seul classeur ou bien m affiche comme erreur: "Microsoft Excel attend la fin de l exécution d une autre action OLE d une autre application"
SVP, y a t il une solution ?? je n’ai pas le choix d’ouvrir les fichiers Excel un par un puisque c’est automatique, à chaque export d un nouveau fichier Excel depuis une base de données. merci pour votre aide.
 

jabrane

XLDnaute Nouveau
Re : Erreur du macro en activon plusieurs fichier EXCEL simultanement

Dim TimeToRun
Sub Auto_Open()
Call scheduleJb
End Sub
Sub scheduleJb()
TimeToRun = Now + TimeValue("00:00:02")
Application.OnTime TimeToRun, "MacroAutoJB"
End Sub

Sub MacroAutoJB()

Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Dim oWdApp As Object

Dim i As Byte
Dim sChemin As String
Dim wb As Workbook

Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String

On Error Resume Next
Dim nom As String
Dim sName As String
Dim sPath As String

On Error Resume Next
Dim j As Integer
j = ActiveSheet.UsedRange.Rows.Count 'count number of lines used in the file

Dim n As Byte
n = Cells(1, Columns.Count).End(xlToLeft).Column
wb.Name Like "WCotisation*.xls" Then

If ActiveWorkbook.Name Like "Class*.xls" Then

user = Environ("username")
sName = ActiveWorkbook.Name
sPath = "C:\Documents and Settings\" & user & "\My Documents\"
sName = Replace(sName, ".xls", "_Word")
MkDir sName
For j = 2 To j 'start the loop the opeation until the next will be for each line used in the file

Set WordApp = CreateObject("word.application") 'ouvre session word
nom = Sheets(1).Cells(j, 2)
mail = Sheets(1).Cells(2, n)
Set WordDoc = WordApp.Documents.Open("C:\Documents and Settings\" & user & "\ClassJb.doc")
Set oWdApp = CreateObject("Word.Application")
Set WordDoc = oWdApp.Documents.Open("C:\Documents and Settings\" & user & "\Classjb.doc")

For i = 1 To n - 1
'les signets du document Word sont nommés Sig1 , Sig2 , Sig3
WordDoc.Bookmarks("Sig" & i).Range.Text = Cells(j, i)
Next i
WordDoc.Bookmarks("Signet").Range.Text = Cells(j, 2)
WordDoc.Bookmarks("Sigmail").Range.Text = Cells(j, n)

WordDoc.SaveAs Filename:=sPath & sName & "\" & nom & ".doc"
WordApp.Visible = False 'affiche le document Word

oWdApp.Quit
ActiveDocument.Close True
WordDoc.Quit
WordApp.Quit

Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set OutMail = OutApp.CreateItem(0)

strbody = "Bonjour" & vbNewLine & vbNewLine & _
"" & vbNewLine & _
" la fiche technique que vous souhaiter l'exporter a été envoyer le " & Now & " par " &

Environ("UserName") & vbNewLine & vbNewLine & _
"Ce mail est généré automatiquement" & vbNewLine & _
"" & vbNewLine & _
"Veuillez ne pas repondre" & vbNewLine & _
""
On Error Resume Next
With OutMail
.To = mail
.Cc = ""
.Bcc = ""
.Subject = nom
.Body = strbody
.Attachments.Add (sPath & sName & "\" & nom & ".doc")
.Send
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
Next j
Application.Quit
End If

Sub auto_close()
On Error Resume Next
Application.OnTime TimeToRun, "MacroAutoJB", , False
End Sub
 

Discussions similaires

Réponses
2
Affichages
269
M
Réponses
9
Affichages
466
Maikales
M
Réponses
20
Affichages
1 K

Statistiques des forums

Discussions
312 078
Messages
2 085 111
Membres
102 783
dernier inscrit
Basoje