Bonjour,

Je rencontre un problème d'affichage un peu particulier qu j'aimerais vous soumettre :

J'ai une macro enregistrée dans un fichier Excel.
Elle est appelée par une application (.exe) et récupère des infos dans plusieurs fichiers excel puis les formate dans ppt.

Le but est de masquer Excel tout au long de la procédure tout en laissant s'afficher des userforms successifs permettant à l'utilisateur de faire des choix.

Cela fonctionne très bien sauf si un document Excel (qui n'a rien à voir, peu importe lequel) est déjà ouvert : tout se passe bien lors d'un premier appel, mais un deuxième appel de la macro via l'appli masque les userform.

Je ne comprends pas pourquoi cela fonctionne une fois mais pas 2.

Voici le code :

Début :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Sub Info(expfile As String)
 
Application.Visible = False
 
Set ExpBk = Workbooks.Open(expfile)
Set ExpSht = ExpBk.Worksheets(1)

Fin :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
For Each Wbk In Workbooks
    If Wbk.FullName = "Blabla" Then Wbk.Close savechanges:=False
Next Wbk
ExpBk.Close savechanges:=False
 
Application.Visible = True
Application.ScreenUpdating = True
 
End Sub
A noter que lorsque (dans le deuxième appel) je fais Alt+Tab pour voir apparaitre les userforms, ils fonctionnent mais restent tous affichés à l'écran ( l'un derrière l'autre) alors que d'ordinaire ils doivent disparaitre avant que le suivant n'apparaissent :

Code de fin de chaque userform :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub OKLabel_Click()
 
'...
'...
 
Application.ScreenUpdating = True
Unload Me
DoEvents
Application.ScreenUpdating = False
 
Call VérifFichiers
 
End Sub


Merci beaucoup.