CodeVBA

Bonjour le FORUM

Sur le formulaire ci-joint , quel est le code pour fermer le formulaire ,de la feuil2 sur la feuil2.Quand je ferme ce formulaire, ça me dirige sur le formulaire suivant(feuil3).Le but est de fermer le formulaire et de visualiser les données sur la feuil Excel. Il manque quelque chose dans mon code mais je ne sais pas quoi?

Dans la boîte à outil , il y a un contrôle Calendrier 9.0, et comment rendre ce calendrier automatique, c'est à dire à l'ouverture du formulaire il indique la date du jour? Y a -t-il un autre contrôle Calendrier pour se faire?

Ci joint un exemple

Bonne journée à tous

Slts

Capjack

20classeur3.zip (12.92 Ko)

Bonjour captainejack, forum,

A l'ouverture de ton classeur tu as ce code :

Private Sub Workbook_Open()
Sheets("Feuil1").Select
F_UserForm1_simple.Show
Feuil2.Activate
F_UserForm2_simple.Show
Feuil3.Activate
F_UserForm3_simple.Show
Feuil4.Activate
F_UserForm4_simple.Show

End Sub

Si on le déroule pas à pas ça fait :

1. La feuille 1 est sélectionnée

2. L'userform1 s'affiche

2bis. Si l'userform1 est fermé on passe à l'étape suivante

3. Si l'userform1 est fermé, la feuille 2 est activée

4. Ouverture du formulaire Userform2

5. Après fermeture de l'Userform2, la feuille 3 est activée

et ainsi de suite...

Donc c'est normal que cela passe d'une feuille à l'autre.

captainejack a écrit :

Dans la boîte à outil , il y a un contrôle Calendrier 9.0, et comment rendre ce calendrier automatique, c'est à dire à l'ouverture du formulaire il indique la date du jour? Y a -t-il un autre contrôle Calendrier pour se faire?

Normalement, à l'ouverture du formulaire sur lequel se trouve le calendrier, la date se met automatiquement à la date du jour. Sinon, tu peux toujours mettre le code suivant dans le code de l'userform "F_UserForm1_simple" par exemple (si le calendrier est sur l'userform "F_UserForm1_simple") :

Private Sub UserForm_Initialize()
Calendar1.Value = Date
End Sub

Bjr

Quand j'ouvre mon classeur ,après avoir activé les macros, je me trouve sur userform feuil1, qui par l'intermédiaire des boutons, ouvre les différentes feuilles. Jusque là sans problème.Une fois une feuille ouverte,(2,3,4),je me trouve sur la feuille désignée,avec l'userform désigné Jusque là sans problème.

Le problème est quand je suis sur un userform(ex:feuil2),que je clique sur "fermer",ça me dirige sur l'userform 3.En fermant l'userform 2, je souhaiterai me trouver sur la feuil2 sans l'userform. C'est là que je cherche le code pour fermer l'userform et restersur la feuil désigné par l'userform

Slts

Re,

Essaie en mettant ce code dans le ThisWorkbook :

Private Sub Workbook_Open()
    Sheets("Feuil1").Select
    F_UserForm1_simple.Show
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Select Case ActiveSheet.Name
        Case "Feuil1"
            F_UserForm1_simple.Show
        Case "Feuil2"
            F_UserForm2_simple.Show
        Case "Feuil3"
            F_UserForm3_simple.Show
        Case "Feuil4"
            F_UserForm4_simple.Show
    End Select
End Sub

Puis ce code dans le code du premier userform :

Private Sub B_feuil2_Click()
    Unload Me
    Sheets("Feuil2").Activate
End Sub

Private Sub B_Feuil3_Click()
    Unload Me
    Sheets("Feuil3").Activate
End Sub

Private Sub B_feuil4_Click()
    Unload Me
    Sheets("Feuil4").Activate
End Sub

Private Sub B_feuil5_Click()
    Unload Me
    Sheets("Feuil5").Activate
End Sub
4quemeng.xlsb (21.67 Ko)

Bjr

En mettant les premiers codes,les userforms s'ouvrent en chevauchant le premier, et pour les seconds codes j'ai un message d'erreur

Slts

Effectivement, par contre, le second code devrait marcher.

Voir fichier :

Voici le nouveau code du ThisWorkbook :

Private Sub Workbook_Open()
    If ActiveSheet.Name = "Feuil1" Then
        F_UserForm1_simple.Show
    Else
        Sheets("Feuil1").Select
    End If
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Select Case Sh.Name
        Case "Feuil1"
            F_UserForm1_simple.Show
        Case "Feuil2"
            F_UserForm2_simple.Show
        Case "Feuil3"
            F_UserForm3_simple.Show
        Case "Feuil4"
            F_UserForm4_simple.Show
    End Select
End Sub
cellule verrouillee

vba-new

Désolé de répondre aussi tardivement

C'est exactement ce que je cherché, et je te remercie pour ton aide. J'étais loin de trouvé et ça plusieurs soirs que je cherchais jusqu'à 1h du mat.

Bonne Année à tout le Forum

Rechercher des sujets similaires à "codevba"