Probleme ouverture fermeture userform

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

YannC.

XLDnaute Occasionnel
Bonjour à tous,

Voici mon ptit probleme. J'aimerai, lorsque je clique sur ma feuille menu que l'userform2 se ferme et l'userform8 s'ouvre.
Jusqu'a la pas de probleme.

Et lorsque je clique sur une autre feuille de mon classeur, l'userform8 se ferme et que s'ouvre à la place l'userform2

Mais la il y a probleme, il ne veux pas. Je pense que je dois me melanger les pied entre les hide.

Alors si vous puviez m'aider. Merci beaucoup


Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.Name <> "Menu" Then
Home = False

With UserForm2
.StartUpPosition = 3
.Left = 0
.Top = 100

End With
Else
UserForm8.Hide
End If

If ActiveSheet.Name = "Menu" Then
Dim Menu As String
Home = False

With UserForm8
.StartUpPosition = 3
.Left = 0
.Top = 0
.Show 0
End With
Else
UserForm2.Hide
End If
End Sub
 
Re : Probleme ouverture fermeture userform

Bonjour le forum 🙂,
La remarque de Jean-Marcel est juste.
D'un autre côté, si tu sélectionnes des feuilles alors qu'un USF est ouvert, c'est que tu utilises du non modal. As-tu vérifié que les 2 USF étaient en non modal ? Attention, le mode non modal est très particulier à utiliser, et il est souvent plus prudent d'utiliser Unload que Hide pour que tes USF se reinitialisent à chaque ouverture plutôt que de conserver des variables erronées.
Bon courage 😎
 
Re : Probleme ouverture fermeture userform

Bonsoir Jean-Marcel, le linuxien,

Autre chose:
Si tu fais ceci:

Code:
If ActiveSheet.Name <> "Menu" Then
.....
......
Else
.......
..........
End If
"Else" revient à dire si la feuille = Menu donc la 2eme condition est en trop.
Tu peux restructuré le code comme ceci:
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  Dim Menu As String
  If ActiveSheet.Name [COLOR=Blue][B]<> "Menu"[/B][/COLOR] Then
    Home = False

    With [B][COLOR=Blue]UserForm2[/COLOR][/B]
      .StartUpPosition = 3
      .Left = 0
      .Top = 100
      [COLOR=Blue][B].Show 0[/B][/COLOR]
    End With
    [COLOR=Blue][B]UserForm8.Hide[/B][/COLOR]
  [B][COLOR=Green]Else[/COLOR][/B]
    Home = False
    With [COLOR=Green][B]UserForm8[/B][/COLOR]
      .StartUpPosition = 3
      .Left = 0
      .Top = 0
      [COLOR=Green][B].Show 0[/B][/COLOR]
    End With
    [COLOR=Green][B]UserForm2.Hide[/B][/COLOR]
  End If
End Sub

Edit: salut JNP 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

D
Réponses
2
Affichages
686
Dvd1976
D
Réponses
6
Affichages
736
S
Réponses
4
Affichages
1 K
Retour