Bonjour,
J'ai un fichier 1.xlsm qui réceptionne des données à l'exécution d'un autre fichier 2.xlsm ; ouverture de plusieurs fichiers + lancement application SAP et sauvgarde dans le fichier 1.xlsm.
Quand le lance la procédure depuis le fichier 2.xlsm, tout fonctionne bien mais, quand, via un bouton qui lance une macro d'ouverture du fichier 2.xlsm depuis le 1.xlsm, la procédure " Call openzue" ne s'exécute pas :
Macro Call openzue
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'En rapport avec la pause Private Sub Workbook_Open() ChDir ThisWorkbook.Path Application.ScreenUpdating = False Application.DisplayAlerts = False Open "x:\MAJCOCKPIT\OPEN_MAJCOCKPIT.txt" For Append As #1 Print #1, Application.UserName, Now Close #1 ' ' ' Sleep 5000 Open "P:\XX\DDKPI\DATA_OPEN_MAJCOCKPIT\OPEN_MAJCOCKPIT.txt" For Append As #1 Print #1, Application.UserName, Now Close #1 ' ' Call SAPZUE06.SAP_ZUE06_XLS 'lancement appli SAP Application.Wait (Now + TimeValue("0:00:10")) 'pause 10 sec après fermeture SAP ' Call Open_file 'ouvre KPI DATA -- DEV.XLS et KPI DATA -- T&T.XLS ' Call REC_Dev_TT 'Création du fichier de travail REC ' 'Application.Wait (Now + TimeValue("0:00:5")) ' Call COCKPITZUE ' Application.DisplayAlerts = True Call openzue 'Celle-ci ne se lance pas quand j'exécute les macro à l'ouvreture du 2.xlsm depuis le 1.xlsm ' End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Sub openzue() Set objShell = CreateObject("WScript.Shell") X = objShell.Popup("Voulez-vous ouvrir le Cockpit Déviation et T&T ?", 60, "Mise à jour terminée", vbYesNo) 'le 60 est le nombre de secondes d'attente Select Case X Case vbYes Workbooks.Open Filename:="\\XX\KPI DEV\DATA\TABLEZUE.xlsm" Windows("TABLEZUE.xlsm").Activate Range("AE5") = Now Windows("MAJ DEVTT_V1.xlsm").Activate ActiveWindow.Close ActiveWorkbook.Save Case vbNo MsgBox "Quitter" Application.Quit Case Else Application.Quit End Select End Sub
Une petite idée pour m'éclairer?
merci,
Damien
Partager