XL 2016 colorbox dans plage de cellule

christ77000

XLDnaute Occasionnel
Bonsoir à tous, j'ai une macro qui permet de modifier la couleur de fond d'une feuille

VB:
Sub Fond_rouge_menu()
Sheets("Menu").Select

Range("A1:L30,B31:L35,A36:L56").Select
    With Selection.Interior
        .Color = 255
    End With
    Range("K4:K9,D5:H12,E16:E25,E27,H16:H24,D38:D39,D41,D44:D55").Select
    With Selection.Interior
        .ThemeColor = xlThemeColorDark1
    End With
    
End Sub

ce que je souhaiterais faire c'est que l'utilisateur puisse choisir pour le Range("A1:L30,..... une couleur et une autre pour le Range("K4:K9,....
le tout en cliquant sur un bouton ce qui est déjà le cas avec cette macro. Merci pour votre aide...
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

Mon interprétation de la chose
VB:
Sub test_A()
Colorier_Fond Range("A1:B5"), vbRed, 0
Colorier_Fond Range("D1:F5"), 0, xlThemeColorAccent4, True
End Sub
Sub test_B()
Colorier_Fond Range("A7:B10"), vbBlue, 0
Colorier_Fond Range("D7:F10"), 0, xlThemeColorLight1, True
End Sub
Sub test_C()
Colorier_Fond Range("A12:B18"), vbYellow, 0
Colorier_Fond Range("D12:F18"), 0, xlThemeColorAccent5, True
End Sub
Sub Colorier_Fond(Plage As Range, Couleur, Theme As XlThemeColor, Optional Flag As Boolean = False)
Select Case Flag
Case True
Plage.Interior.ThemeColor = Theme
Case False
Plage.Interior.Color = Couleur
End Select
End Sub
 

christ77000

XLDnaute Occasionnel
Bonsoir [U]Staple1600[/U] en faite ma macro a déjà des couleurs imposées ce que je voudrais c'est que l'utilisateur puisse choisir dans c'est deux plages de cellule ca propre couleur. Dans ma macro il y a une partie en rouge et l'autre en blanc. Moi je souhaiterais que sur la partie une et deux l'utilisateur choisisse lui même ce qui permettrais un plus grand choix de couleurs.
 

Staple1600

XLDnaute Barbatruc
Re, Bonsoir Dranreb

•>christ77000
VB:
Sub Test_4()
Colorier_Fond2 Range("F10:F15")
End Sub
Private Sub Colorier_Fond2(Plage As Range)
Dim Couleur&
If Application.Dialogs(223).Show(10, 255, 0, 0) = True Then
Couleur = ActiveWorkbook.Colors(10)
Plage.Interior.Color = Couleur
Else
'Annulation
End If
End Sub
Là, tu peux choisir ta couleur ;)
 

christ77000

XLDnaute Occasionnel
VB:
Sub Fond_menu()
Colorier_Fond2 Range("A1:L30,B31:L35,A36:L56")
End Sub

Sub Fond_menu1()
Colorier_Fond2 Range("K4:K9,D5:H12,E16:E25,E27,H16:H24,D38:D39,D41,D44:D55")
End Sub

Private Sub Colorier_Fond2(Plage As Range)
Dim Couleur&
If Application.Dialogs(223).Show(10, 255, 0, 0) = True Then
Couleur = ActiveWorkbook.Colors(10)
Plage.Interior.Color = Couleur
Else
End If
End Sub

ca c'est le top du top:D . une question supplémentaire est ce que ce code fonctionne également pour la couleur du texte. car si le fond est noir par exemple du coup on ne verrais plus le text
 

Discussions similaires

Statistiques des forums

Discussions
312 195
Messages
2 086 078
Membres
103 112
dernier inscrit
cuq-laet