Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Couleur d'onglets en dégradé [RESOLU]

Philippe68

XLDnaute Occasionnel
Bonjour le forum et Joyeux Noël,

Quel est le code VBA pour mettre les onglets en couleur dégradée svp ?
Je pense que c'est inutile de mettre un classeur joint, vu que ça ne concerne pas directement les feuilles mais les onglets.

Merci
 
Dernière édition:

Philippe68

XLDnaute Occasionnel
Re : Couleur d'onglets en dégradé

Bonjour,

je ne l'ai pas précisé dans mon 1er post, mais il s'agit d'un dégradé d'une couleur commune aux onglets et non un dégradé séparé pour chacun d'eux.
en + clair, comment faire ?
 

gilbert_RGI

XLDnaute Barbatruc
Re : Couleur d'onglets en dégradé

Bonjour

voilà un code pour appliquer une couleur différente à chaque nouvel onglet certes ce n'est pas un dégradé

Code:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Dim SheetsCount As Long
SheetsCount = Sheets.Count
Sheets(SheetsCount).Tab.ColorIndex = Sheets.Count
End Sub
 

gilbert_RGI

XLDnaute Barbatruc
Re : Couleur d'onglets en dégradé

ou en passant par les API's un code permettant de choisir la couleur de la feuille active

mettre le code dans un module

Code:
Private Declare Function CHOOSECOLOR Lib "comdlg32.dll" Alias _
 "ChooseColorA" (pChoosecolor As CHOOSECOLOR) As Long
 
Private Type CHOOSECOLOR
     lStructSize As Long
     hwndOwner As Long
     hInstance As Long
     rgbResult As Long
     lpCustColors As String
     flags As Long
     lCustData As Long
     lpfnHook As Long
     lpTemplateName As String
 End Type
 
Public Function ShowColor(Handle As Long) As Long
     Dim cc As CHOOSECOLOR
     Dim Custcolor(16) As Long
     Dim lReturn As Long
     Dim CustomColors As String
 
    cc.lStructSize = Len(cc)
     cc.hwndOwner = Handle
     cc.lpCustColors = StrConv(CustomColors, vbUnicode)
     cc.flags = 0
 
    If CHOOSECOLOR(cc) <> 0 Then
         ShowColor = cc.rgbResult
         CustomColors = StrConv(cc.lpCustColors, vbFromUnicode)
     Else
         ShowColor = -1
     End If
 End Function
 
Sub test()
     Dim Couleur As Long
     Couleur = ShowColor(Application.Hwnd)
     ActiveSheet.Tab.Color = Couleur
 End Sub

ce qui revient au même que "couleur d'onglet"
 
Dernière édition:

Philippe68

XLDnaute Occasionnel
Re : Couleur d'onglets en dégradé

Re,

Ce n'est pas vraiment ça que je recherche, je posterai une copie-écran dès que je tomberai sur un fichier dont les onglets (tous sélectionnés) ont une couleur commune dégradée
Merci quand même
 

Philippe68

XLDnaute Occasionnel
Re : Couleur d'onglets en dégradé

Bonsoir mapomme, le forum,

Et bien voilàààààààààà, je prend tout
Je vais me faire un UserForm de tout ça, de façon à pouvoir sélectionner la couleur que l'on voudra.
C'est Tip-Top, un grand merci mapomme
 

Discussions similaires

Réponses
2
Affichages
210
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…