Bonjour Job je suis vraiment désolée, j'ai déjà essayer avec les codes que vous m'avez donné mais ça ne marche pas c'est pour ca que j'ai essayer de faire une autre discussion car j'ai cru que j'ai mal présenté ma question la première fois.Bonjour A2H,
Vous ne croyez pas que vous vous moquez du monde ?
1) Il y a déjà ce fil où vous restez les bras ballants :
https://www.excel-downloads.com/threads/naviguer-entre-deux-classeurs-différents-2-projets-vba.20026231/#post-20199663
2) Vous ne joignez aucun fichier, moi l'en ai marre d'en créer.
A+
Mes codes fonctionnent très bien, il suffit de savoir les adapter !!!Bonjour Job je suis vraiment désolée, j'ai déjà essayer avec les codes que vous m'avez donné mais ça ne marche pas
Sub AfficherUFm()
USFFiltre.Show
End Sub
Private Sub BTMenu_Click()
Me.Hide ' ou bien Unload Me, ça dépend …
End Sub
Private Sub Filtre_Click()
Me.Hide
Run "'C:\Users\Luck\AppData\Local\Temp\Filtre.xlsm'!AfficherUFm"
Me.Show
End Sub
Je ne vois pas de hiérarchie, un USF remplace l'autre c'est tout.Avec cette hiérarchie d'un UFmMenu maître plus besoin que les UserForm soient affichés non modal.
Bien marché MerciBonjour.
Avec cette hiérarchie d'un UFmMenu maître plus besoin que les UserForm soient affichés non modal.
Dans un module standard de Filtre.xlsm :
Dans l'USFFiltre :VB:Sub AfficherUFm() USFFiltre.Show End Sub
Dans l'USFMenu :VB:Private Sub BTMenu_Click() Me.Hide ' ou bien Unload Me, ça dépend … End Sub
Adaptez naturellement le chemin du Filtre.xlsmVB:Private Sub Filtre_Click() Me.Hide Run "'C:\Users\Luck\AppData\Local\Temp\Filtre.xlsm'!AfficherUFm" Me.Show End Sub
et supprimez sa Private Sub Workbook_Open().
Celle du Menu.xlsm, à ouvrir en premier, peut être gardée.
On évite facilement le non modal en utilisant Me.Hide.Là c'est différent: c'est toujours d'un menu père vers un classeur fils, puis retour au menu.
On peut alors éviter le non modal autorisant l'accès aux cellules, ce qui peut représenter un inconvénient.
Mais si et elle se crée aussi avec Unload Me.Non, Me.Hide ne crée pas de pile.
Private Sub Workbook_Activate()
USFMenu.Show
MsgBox "espion Menu"
End Sub
Private Sub Workbook_Activate()
USFFiltre.Show
MsgBox "espion Filtre"
End Sub