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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
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
 
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:
Re : Couleur d'onglets en dégradé

Bonsoir,

Voici un code qui devrait le faire:
Code:
Sub ColorerOnglet()
    
Dim sh, Pas, TandS, i
Pas = -2 / Sheets.Count

For i = 1 To Sheets.Count
    With Sheets(i).Tab
        .Color = RGB(195, 255, 0)
        .TintAndShade = 1 + i * Pas
    End With
Next i
End Sub
 
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 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Comparer 2 onglets
Réponses
8
Affichages
610
Réponses
5
Affichages
402
Retour