IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Contrôle multipage userform


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Developpeur
    Inscrit en
    Novembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 196
    Par défaut Contrôle multipage userform
    Salut le forum,

    Je fais fasse à un problème auquel je ne trouve ni réponse dans mes maigres compétences ni dans les forums.

    J'ai un userform avec un contrôle mulipage.
    J'ai 5 pages, nommées page1, page2, page3 ...
    J'ai des onglets sur le classeur excel portant les mêmes noms.
    Je souhaitererai que lorsque je change de page ("multipage de mon userform), l'onglet du classeur (du même nom) soit selectionner automatiquement et cela sans bouton.

    J'ai essayé de trifouiller dans Private Sub MultiPage1_Change() mais sans aucun résultats.

    En espérant trouver de l'aide, je vous souhaite une bonne journée.

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonjour,

    Dans le code de la UserForm contenant le contrôle multipage, ajouter le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private ActivetabName As String
     
    Private Sub MultiPage1_Change()
        If ActivetabName <> MultiPage1.SelectedItem.Caption Then
            ActivetabName = MultiPage1.SelectedItem.Caption
            On Error Resume Next
            ThisWorkbook.Worksheets(ActivetabName).Activate
        End If
    End Sub
    S'il faut interagir avec le classeur tout en gardant la UserForm visible,
    il faudra l'afficher de façon non modale : UserForm1.Show(False).

  3. #3
    Membre confirmé
    Homme Profil pro
    Developpeur
    Inscrit en
    Novembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 196
    Par défaut
    Merci beaucoup,

    Cela repond totalement a mes besoins.
    Affaire résolue

  4. #4
    Membre confirmé
    Homme Profil pro
    Developpeur
    Inscrit en
    Novembre 2011
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 196
    Par défaut Continuité
    Re bonjour,

    Je voudrais adapter ce code pour aller plus loin.

    Lorsque je clique sur le nom page1, cela m'ouvre le fichier page1.xls, si je change de page cela le ferme, est ce possible.

    Merci par avance

  5. #5
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Bonjour à tous,

    Dans la continuité de BlueMonkey :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Dim ActivetabName As String
    Dim ExActivetabName As String
    Dim EvitSub As Boolean
     
    Private Sub MultiPage1_Change()
        If EvitSub Then Exit Sub
        ExActivetabName = ActivetabName
        If ActivetabName <> MultiPage1.SelectedItem.Caption Then
            ActivetabName = MultiPage1.SelectedItem.Caption
            On Error Resume Next
            ThisWorkbook.Worksheets(ActivetabName).Visible = True
            ThisWorkbook.Worksheets(ActivetabName).Activate
            ThisWorkbook.Worksheets(ExActivetabName).Visible = False
        End If
    End Sub
     
    Private Sub UserForm_Activate()
     
    EvitSub = True
     
    ActivetabName = ThisWorkbook.ActiveSheet.Name
    MultiPage1.Value = Right(ActiveSheet.Name, 1) - 1
    Dim i As Byte
    For i = 1 To 5
        If Sheets("Page" & i).Name <> ActiveSheet.Name Then Sheets("Page" & i).Visible = False
    Next
     
    EvitSub = False
    End Sub
    A l'affichage du formulaire, la feuille active affichera l'onglet du Multipage concerné et les autres feuilles seront masquées.
    Lors d'une sélection d'un autre onglet sur le multipage, la feuille concernée s'affichera et la précédente sera masquée.

    Cordialement.

Discussions similaires

  1. [XL-2010] Contrôle Multipage dans Userform
    Par ESTERALIX dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/07/2015, 21h28
  2. contrôle multipage dans userform
    Par NicolasMO dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/09/2009, 15h12
  3. les événements de contrôles placés sur un contrôle multipage
    Par alassanediakite dans le forum VBA Access
    Réponses: 9
    Dernier message: 15/09/2008, 19h29
  4. Rendre inactif certaines pages d'un contrôle multipages
    Par philoflore dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/07/2008, 19h07
  5. Bouton de contrôle pour USERFORM.
    Par Jeanvaljean44 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/05/2008, 15h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo