Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] - Problème de fermeture de classeur à partir d'un autre

11 réponses
Avatar
belay04
Bonjour !

Je vais essayer d'être bref et précis. J'ai parcouru le forum en long
en large et en travers et je n'ai pas trouvé de solutions qui marche
pour moi.

Je gére un application un poil complexe depuis un classeur nommé
"Gestion.xls" qui crée différents classeurs que l'on va appellé
"Classeur(i).xls"...
Via mon interface VBA du classeur gestion.xls je recupére tous les
classeurs de maniére à pouvoir les modifier.
Tous les classeur(i) reçoive leur de leur sauvegarde un bouton "RETOUR
MENU".

Bon on entre dans le vif du sujet.
Via mon interface VBA de gestion.xls j'ouvre un classeur que je désire
modifier...
J'effectue mes modifications
Et maintenant je dois retourne sur l'application principale
(gestion.xls) en fermant ce classeur. Pour ce faire je clique sur le
bouton "retour menu" qui me lance la procédure suivante :

Application.Run ("gestion.xls") & ("!MODIFFICHIER")

dans le fichier "gestion.xls" j'ai :
**********************************************************
Sub MODIFFICHIER()
'SAUVEGARDE DU FICHIER
ActiveWorkbook.Save
ActiveWindow.WindowState = xlMinimized
MSG_RECOK 'ça c juste une msgbox

'RETOUR MENU
Workbooks("gestion.xls").Activate
ActiveWindow.WindowState = xlMinimized

'FERMETURE DES CLASSEURS INACTIFS
CLOSEWBK

Menu.Show
End Sub
**********************************************************
et pour finir (tjrs ds gestion.xls)
Public Sub CLOSEWBK()

Dim Wb As Workbook
Dim AWb As String
AWb = ActiveWorkbook.Name

For Each Wb In Workbooks
If Wb.Name <> AWb Then
Wb.Close False
End If
Next Wb
Menu.show
End Sub
*********************************************************

MAis voila je n'arrive jamais à l'instruction menu.show parce que
lorsque dans la boucle "If" il tombe sur un classeur inactif, il le
ferme et voila c fini é_è
Si vous avez des pistes je suis preneur ....
J'ai déjà essayer en plaçant des evenements ds workbook_beforeclose
mais ça ne marche pas non plus ......

Merci Beaucoup !
Belay

1 réponse

1 2
Avatar
Belay
C'est possbile que cela fonctionne mieux ac Thisworkbook ... Mais vu que j'ai
effacer tout mon code je me sens pas le courage de recommencer pour essayer
....
Par ailleur, le fait d'uiliser une userform non modale evite de faire des
appels de procédure entre classeurs ce qui me semble + sain pr ce que j'ai à
faire ;)

Merci
1 2