Couleur des onglets dans l'outil Multipage
Bonjour à tous,
Je voudrais créer un USF avec l'utilisation du Multipage.
Je voudrais rendre ça plus conviviale en mettant des couleurs pour chaque onglet et page correspondante.
Il n'existe pas de paramètres "back color" pour les pages, le problème peut être contourné en insérant une image bitmap... jusque là pas de problème. Ma question est que l'onglet prenne aussi la couleur de la page mais là je ne sais pas insérer d'image ou jouer avec une fonction "back color". Comment puis-je réaliser cela ou contourner le problème ?
Cela doit bien être possible puisque c'est réalisé sur des appli du forum, voir image
Bonjour,
Attention ! Sur le forum il y a des "pros" d'EXCEL !
Et Sébastien en fait parti !
De première abord il y a bien des onglets en couleur sur l'USF, mais si vous aviez accès au code (là faut voir avec lui) vous devriez (je pense) voir que c'est un assemblage de contrôle pour donner l'illusion d'un multipage en couleur...
Car j'ai bien essayé de faire ce que vous demandez mais je n'y arrive pas non plus...
pourquoi je pense à ce "montage" ? Car il y a un cour qui explique comment avoir une liste de choix "multicouleur" sous Excel, et en fait c'est un montage de contrôle qui au final donne l'impression d'une liste de choix et en couleur !!!!
https://www.excel-pratique.com/fr/astuces_vba/creer_liste_deroulante_personnalisee.php
@ bientôt
LouReeD
Bonjour,
Tout d'abord merci pour votre réponse !
En effet, il y a vraiment du niveau
Ce petit cours est le parfait exemple pour réaliser je pense l'effet que je veux ... je sais maintenant à quoi je vais passer ma soirée
Pour ce genre de travaux on peut utiliser dans Excel le menu insertion Formes.
Faire tous les graphismes sur la feuille. (Texte et coloration)
Dans cet exemple j'ai utilisé deux rectangles arrondis au format exact de 4 cellules.
On retravaille ensuite l'Imprim Ecran avec son Editeur d'image préféré.
On retaille ensuite chaque bouton selon son contour exact pour éviter d'avoir un effet de bordure.
On aura donc 2 images de 160 x 40 qu'on retaillera par le bas pour avoir 160 x 30
Qu'on importe ensuite dans des contrôles images du UserForm (en mode Clip)
Attention : VBA n'utilise pas les mêmes unités de dimension...
160 x 30 pour VBA ça donne 120 x 23...
Attention également : Dans un Userform l'ordre de construction est primordial. Si vous voulez que le contrôle image soit partiellement masqué par les autres contrôles il faut créer l'image en premier. Si vous créez l'image en dernier, elle sera forcément au premier plan.
En dépit de ce que dit le menu clic droit, il n'y a pas de notion de premier plan / Arrière plan avec les contrôles de UserForm...
A+
Bonjour,
c'est bien ce que je pensais, il n'y a pas de possibilité de colorer les onglet page sous VBA, d'ailleurs c'est bien domage, tout comme le "premier plan" et "dernier plan" car cela pourrait servir tout de même lors de la confection d'un USF !
@ bientôt
LouReeD
Bonjour à tous,
Pour faire un système d'onglet manuellement, on peut imaginer afficher/masquer les contrôles en fonction des onglets mais ça devient vite ingérable avec un grand nombre de contrôles ...
La solution que j'avais imaginée ici était donc de déplacer tous les contrôles vers la gauche ou la droite en fonction de l'onglet choisi, ce qui rend l'ensemble finalement "assez simple" à gérer.
Voila à quoi ressemble mon UserForm :
LouReeD a écrit :De première abord il y a bien des onglets en couleur sur l'USF, mais si vous aviez accès au code (là faut voir avec lui) vous devriez (je pense) voir que c'est un assemblage de contrôle pour donner l'illusion d'un multipage en couleur...
Car j'ai bien essayé de faire ce que vous demandez mais je n'y arrive pas non plus...
Il y a bien une version avec un accès à un code VBA soigné et partiellement commenté mais c'est une application payante et c'est donc un peu cher si c'est juste pour voir l'astuce ... Néanmoins, ceux qui ont bien participé dans la section des téléchargements peuvent recevoir cette application avec l'accès au code VBA (donc LouReeD, toi qui as une collection de points, sache que tu peux la recevoir gratuitement au cas où tu aimerais comprendre tout ce qui se cache derrière cette application).
galopin01 a écrit :En dépit de ce que dit le menu clic droit, il n'y a pas de notion de premier plan / Arrière plan avec les contrôles de UserForm..
Il est tout à fait possible de changer l'ordre des contrôles (heureusement !) mais il faut parfois répéter l'opération de nombreuses fois ...
Par exemple pour faire passer le contrôle 1 devant le contrôle 4, il faut cliquer 3x sur "Premier plan" (le contrôle 1 va alors passer en position 2 puis 3 puis 4).
Cordialement,
Bonsoir,
Il est tout à fait possible de changer l'ordre des contrôles (heureusement !) mais il faut parfois répéter l'opération de nombreuses fois ...
Par exemple pour faire passer le contrôle 1 devant le contrôle 4, il faut cliquer 3x sur "Premier plan" (le contrôle 1 va alors passer en position 2 puis 3 puis 4).
J'avais un peu suspecté ça à l'époque... Mais comme j'avais 7 ou 800 contrôles à répartir sur une bonne vingtaine d'images, j'ai pas eu le courage de tester ! J'ai préféré adopter une démarche plus "pragmatique"...
A+
Ok, Ok, Ok, je dirais pareil ! J'ai abandonné car il devait y avoir beaucoup de contrôles.
Ce que je ne supporte pas c'est d'être pris pour un....
En effet, un bouton disant "avancer vers l'avant" et "premier plan" ça n'a rien à voir !
Comme même, depuis que VBA existe ! Ils auraient pu mettre la bonne traduction, ou tout simplement faire que mettre au premier plan et bien que ça le fasse !
L'informatique est là pour asservir l'homme hors souvent c'est à ce dernier de se plier à ce que l'informatique veut bien faire.
C'était le cas dans les années 90 avec le html : c'était au "codeur" de savoir coder pour tel ou tel navigateur, alors que ce devrait être l'inverse...Depuis je ne code plus le HTML, ça a du changer, non ? Bien que j'entende encore que tel ou tel site est "optimisé" pour tel ou tel navigateur !!! C'est dingue !
@ bientôt
LouReeD
Edit : Sébastien je suis plus attiré par Amazone
Bonsoir à tous,
Tout d'abord un grand merci pour les pistes évoquées Sébastien !
Pour votre info et pour la postérité, j'ai réussi à faire ce que je voulais ... 3 pages/onglets et 3 couleurs.
J'ai utilisé un contrôle image qui contient les onglets avec 3 labels pour les rendre "cliquables". Et ensuite 3 contrôles images qui contiennent les fonds de couleurs, placés l'un à la suite de l'autre comme Sébastien a expliqué.
Voici le petit code pour les labels et une capture de ce que ça donne
Private Sub MenuClients_Click()
FondOrange.Visible = False
FondVert.Visible = False
End Sub
Private Sub MenuDeplacements_Click()
FondVert.Left = 5
FondVert.Top = 58
FondVert.Visible = True
FondOrange.Visible = False
End Sub
Private Sub MenuPrestations_Click()
FondOrange.Left = 5
FondOrange.Top = 58
FondOrange.Visible = True
FondVert.Visible = False
End Sub
Private Sub UserForm_Initialize()
Me.Width = 925
End Sub
C'est comme au cinéma !
Derrière les belles façades il n'y a que du bois ! Mais que c'est beau !
Bon courage à vous pour la suite !
@ bientôt
LouReeD