Multipages

Résolu
cs_foxblue Messages postés 11 Date d'inscription lundi 28 mai 2007 Statut Membre Dernière intervention 18 juillet 2015 - 12 mars 2015 à 18:32
 foxblue - 18 mars 2015 à 18:51
Bonsoir pouvez vous m'aider à
- dans un controle multipage
- sélectionner la page 0 et la mettre en surbrillance ou autre de maniere à bien identifier l'onglet actif
Merci d'avance, cordialement

6 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 14
18 mars 2015 à 11:02
Bonjour,

Peut être une possibilité en utilisant la propriété Enabled des Multipages.
Souci avec cette méthode : elle nécessite de créer deux boutons de commande supplémentaires pour naviguer dans les pages du multipages.....

Les codes :
Dim PageSelect As Byte

Private Sub CommandButton1_Click()
   PageSelect = IIf(PageSelect = 0, MultiPage1.Pages.Count - 1, PageSelect - 1)
   EnabledMulti
End Sub

Private Sub CommandButton2_Click()
   PageSelect = IIf(PageSelect = MultiPage1.Pages.Count - 1, 0, PageSelect + 1)
   EnabledMulti
End Sub

Private Sub UserForm_Initialize()
   PageSelect = 0
   EnabledMulti
End Sub

Sub EnabledMulti()
Dim bCpt As Byte
   With MultiPage1
      For bCpt = 0 To MultiPage1.Pages.Count - 1
         .Pages(bCpt).Enabled = False
      Next bCpt
      .Pages(PageSelect).Enabled = True
      .Value = PageSelect
   End With
End Sub


Le classeur exemple : http://cjoint.com/?ECsloiwWOgf

Nota : ça n'est pas très pratique car on ne peut plus cliquer directement sur l'onglet souhaité...
1
bon exemple que j'ai un peu modifié pour remettre les page accessibles et pouvoir continuer.
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
16 mars 2015 à 16:41
Pour afficher le premier onglet, MPage étant le nom de ton Multipage
Me.MPage.Value = 0

0
Merci de ta réponse MPI qui répond en partie à ma question. Est-il possible de mettre l'onglet choisi en surbrillance ou d'une autre couleur ?
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
16 mars 2015 à 21:01
Non, pas à ce que je sache...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
18 mars 2015 à 11:19
Une possibilité à laquelle je pense serait de "tricher" et d'ajouter une image qui épouse la forme de l'onglet et que tu poses au-dessus dudit Tab. Mais je pense que tu devras passer par les APIs et ça risque d'être un peu compliqué.

Tout dépend de tes connaissances en programmation avec API
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 14
18 mars 2015 à 13:33
Salut cs_MPi,

Euh... ou alors, plus simplement :
Private Sub UserForm_Initialize()
   MultiPage1.Style = 1
End Sub
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23 > pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024
18 mars 2015 à 15:19
Effectivement, bonne idée.
On a de la difficulté à lire le texte lorsque sélectionné, mais ça rend bien la surbrillance.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 14 > cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018
18 mars 2015 à 15:21
On a de la difficulté à lire le texte lorsque sélectionné, mais ça rend bien la surbrillance.
Peut être que, dans ce cas, l'utilisation d'une api sera plus facile. ;-)
0
Merci Pijaku
Ça répond tout a fait à mon pb;
Super
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 14
18 mars 2015 à 15:29
On peut aussi changer la couleur de police :
Private Sub UserForm_Initialize()
   MultiPage1.Style = 1
   MultiPage1.ForeColor = &H8080FF
End Sub
0
La couleur ne s'applique pas à l'onglet mais au fond page !
Mais le chgt me suffit.
Encore merci
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 14 > foxblue
18 mars 2015 à 16:03
Qu'entends tu par :
La couleur ne s'applique pas à l'onglet mais au fond page

Parce que ForeColor c'est juste la couleur de la police...
0
foxblue > pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024
18 mars 2015 à 18:51
Ok mais meme le backcolor ne modifie que le fond page derriere l'onglet en fait !
0
Rejoignez-nous