code vba couleur onglet

  • Initiateur de la discussion Initiateur de la discussion VINCEGR
  • Date de début Date de début

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 !

VINCEGR

XLDnaute Occasionnel
bonjour le forum,

je copie ma feuille excel avec un code vba et je souhaiterais savoir si il était possible de rajouter une couleur à l'onglet de la nouvelle feuille avec un code vba.😕

Merci d'avance
VinceGR🙂
 
Dernière édition:
Re : code vba couleur onglet

Bonjour Minick,

merci pour ton aide mais erreur d'éxécution 9. Pourquoi ?

Sub copier()
Dim nom As String
Dim i As Integer
With Feuil1
If .Range("B1") = "" Or .Range("B2") = "" Or .Range("B5") = "" Or .Range("B6") = "" Then
MsgBox "Vous devez Remplir au minimum les Cellules B1 B2 B5 B6 de la feuille" & vbCrLf & _
"Saisie pour Pouvoir Créer Une Nouvelle Facture", , "Manque de renseignements"
Exit Sub
End If
End With
Sheets.Add After:=Sheets(Sheets.Count)
nom = " 101-" & Feuil1.Range("B5")
ActiveSheet.Name = nom
For i = 1 To 4
If Sheets("model " & i).Range("A15") <> "" Then

Sheets("model " & i).Cells.Copy
Sheets(nom).Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets(nom).Cells.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("A1").Select

Sheets("nom").Tab.ColorIndex = 6600000
Exit For
End If
Next i

End Sub

Merci pour votre aide
@+
VinceGr
 
Re : code vba couleur onglet

Salut,

Parce que l'exemple que je t'ai donne se base sur l'index de la palette de couleur et non un code couleur.

Pour utiliser un code couleur utilise Color:
Code:
Sheets(nom).Tab.Color = 6600000
 
Dernière édition:
Re : code vba couleur onglet

bonjour Pierrot93,
re Minick

ma cellule b2 change de couleur suivant la lettre que j'indique à l'intérieur.
est-il possible de lier le code bva avec la couleur de l'onglet

merci pour votre aide
@+
VinceGR
 
Dernière édition:
Re : code vba couleur onglet

Bonjour le forum,
voici le code vba que j'utilise pour copier des onglets.
Actuellement, la couleur est le jaune mais je souhaiterais si possible avoir le choix de la couleur soit via :
- la palette de couleur
- ou j'ai 4 couleurs qui sont dans les cellules F1 - F2 - F3 - F4
-------------------------------------------------------------
Sub copier()
Dim nom As String
Dim i As Integer
With Feuil1
If .Range("B1") = "" Or .Range("B2") = "" Or .Range("B5") = "" Or .Range("B6") = "" Then
MsgBox "Vous devez Remplir au minimum les Cellules B1 B2 B5 B6 de la feuille" & vbCrLf & _
"Saisie pour Pouvoir Créer Une Nouvelle Facture", , "Manque de renseignements"
Exit Sub
End If
End With
Sheets.Add After:=Sheets(Sheets.Count)
nom = " 101-" & Feuil1.Range("B5")
ActiveSheet.Name = nom
For i = 1 To 4
If Sheets("model " & i).Range("A15") <> "" Then

Sheets("model " & i).Cells.Copy
Sheets(nom).Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets(nom).Cells.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("A1").Select
Sheets(nom).Tab.ColorIndex = 6 Exit For
End If
Next i

End Sub
-----------------------------------------------------

merci pour votre aide
VinceGr
 
Re : code vba couleur onglet

Salut,

Un exemple avec l'utilisation d'un API
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)
    Feuil1.Tab.Color = Couleur
End Sub
 
- 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

Réponses
43
Affichages
774
Réponses
7
Affichages
255
D
  • Question Question
Réponses
5
Affichages
247
Didierpasdoué
D
Réponses
4
Affichages
215
  • Question Question
Microsoft 365 archivage excel
Réponses
12
Affichages
273
Retour