Bonjour,
Depuis une macro du logiciel Catia je tente d'ouvrir un classeur excel choisi dans une combobox après clic sur un CommandButton.
Ce code fonctionne dans une autre macro que j'ai récupérée mais pas dans la mienne.
Le code de l'ouverture de fichier est :
Le code de mon bouton est :
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 Sub ouverture_fichier() Dim i As Integer Dim deja_ouvert As Boolean Dim nom_fichier As String On Error GoTo line999 'récupère le nom du fichier sans le ".xls" dans la comobox du formulaire nom_fichier = VisSansFin_pilotage.ComboBox_Fichier_Archive.text 'On ouvre le fichier en vérifiant qu'il n'est pas déjà ouvert deja_ouvert = False MsgBox Workbooks.Count For i = 1 To Workbooks.Count If appxls.Workbooks.Item(i).Name = nom_fichier & ".xls" Then deja_ouvert = True appxls.Workbooks.Item(i).Activate MsgBox "Feuille activée" End If Next If deja_ouvert = False Then ' EN début de code il y a : Dim appxls As New Excel.Application appxls.Workbooks.Open chemin_acces, , True MsgBox "Ouverture du classeur" End If fichier_ouvert = True Exit Sub line999: MsgBox "ouverture du fichier impossible" fichier_ouvert = False End Sub
J'ai essayé de lancer l'ouverture d'Excel après l'exécution de la procédure, puisque j'ai remarqué qu'en ouvrant un fichier excel à la main après l'exécution d' ouverture_fichier les fichiers du "monde parallèle" apparaissaient, mais en vain:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub CommandButton_Visualiser_Click() Call Recup_xls.ouverture_fichier End Sub
La macro ajoute un autre EXCEL.EXE dans le gestionnaire des tâches que celui qui est lancé quand j'ouvre un fichier à la main.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Code : Sélectionner tout - Visualiser dans une fenêtre à part
12345678 Private Sub CommandButton_Visualiser_Click() Call Recup_xls.ouverture_fichier Dim MyAppID MyAppID = Shell("C:\Program Files\Microsoft Office\Office10\EXCEL.EXE", 1) AppActivate MyAppID ' Activate Microsoft Excel. End Sub
Si je vire le processus EXCEL.EXE qui correspond à l'ouverture de mon fichier du gestionnaire des tâches, quand je relance la macro, l'ouverture plante mais le lancement d'excel avec le classeur vierge se fait...
Merci d'exorciser mon code
Partager