vba - Excel invisible et userform visible
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:
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:
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:
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.