Modification couleur tableaux par macro

kadelmalin

XLDnaute Occasionnel
Bonjour,
Sans recourir à la MEFC est il possible de concevoir une petite macro qui modifie la couleur du tracé d'un tableau dans une feuille. Je joins un classeur cobaye. Merci.
 

Pièces jointes

  • Fic-Paie.xlsx
    17.9 KB · Affichages: 46

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Modification couleur tableaux par macro

Bonjour kadelmalin,

Voir fichier joint pour un début de réponse ............. bon courage pour le reste de la feuille

à+
Philippe
 

Pièces jointes

  • 111.xlsm
    23.9 KB · Affichages: 44
  • 111.xlsm
    23.9 KB · Affichages: 46

eriiic

XLDnaute Barbatruc
Re : Modification couleur tableaux par macro

Bonjour,

un peu plus complet :) :
Code:
Sub couleurEncadrement()
    Dim c As Range
    For Each c In ActiveSheet.UsedRange
        If Not c.Borders(xlEdgeLeft).LineStyle = xlNone Then
            c.Borders(xlEdgeLeft).Color = 16711680
        End If
        If Not c.Borders(xlEdgeRight).LineStyle = xlNone Then
            c.Borders(xlEdgeRight).Color = 16711680
        End If
        If Not c.Borders(xlEdgeTop).LineStyle = xlNone Then
            c.Borders(xlEdgeTop).Color = 16711680
        End If
        If Not c.Borders(xlEdgeBottom).LineStyle = xlNone Then
            c.Borders(xlEdgeBottom).Color = 16711680
        End If
        If Not c.Borders(xlInsideVertical).LineStyle = xlNone Then
            c.Borders(xlInsideVertical).Color = 16711680
        End If
        If Not c.Borders(xlInsideHorizontal).LineStyle = xlNone Then
            c.Borders(xlEdgeLeft).Color = 16711680
        End If
    Next c
End Sub
eric
 

DoubleZero

XLDnaute Barbatruc
Re : Modification couleur tableaux par macro

Bonjour à toutes et à tous,

Une autre possibilité :

Code:
Option Explicit
Sub Quadrillage_couleur()
    Dim c As Range
    Application.ScreenUpdating = False
    For Each c In Range("a1:g50")
        If c.Borders(xlEdgeLeft).LineStyle <> xlNone Then c.Borders(xlEdgeLeft).ColorIndex = 5
        If c.Borders(xlEdgeRight).LineStyle <> xlNone Then c.Borders(xlEdgeRight).ColorIndex = 5
        If c.Borders(xlInsideVertical).LineStyle <> xlNone Then c.Borders(xlInsideVertical).ColorIndex = 5
        If c.Borders(xlInsideHorizontal).LineStyle <> xlNone Then c.Borders(xlInsideHorizontal).ColorIndex = 5
        If c.Borders(xlEdgeTop).LineStyle <> xlNone Then c.Borders(xlEdgeTop).ColorIndex = 5
        If c.Borders(xlEdgeBottom).LineStyle <> xlNone Then c.Borders(xlEdgeBottom).ColorIndex = 5
    Next
    Application.ScreenUpdating = True
End Sub

A bientôt :)
 

Dranreb

XLDnaute Barbatruc
Re : Modification couleur tableaux par macro

Bonjour.
Si par "tracé" vous entendez la couleur des bordures dont la couleur est celle par défaut, cette dernière est aussi celle du quadrillage, et elle se met en bleu par cette instruction :
VB:
ActiveWindow.GridlineColor = RGB(0, 0, 255)
J'ai aussi eu beaucoup de mal à trouver comment on change ça manuellement sur Excel 2016.
 
Dernière édition:

kadelmalin

XLDnaute Occasionnel
Re : Modification couleur tableaux par macro

Merci à vous tous ! toutes vos interventions sont impeccables et elles seront encore plus excellentes si j'arriverais à avoir les pointillés avec un bleu plus fade. Merci mille fois mes amis.
 

kadelmalin

XLDnaute Occasionnel
Re : Modification couleur tableaux par macro

Re bonjour,
J'ai tenté de modifier c.Borders(xlInsideHorizontal).ColorIndex = 5 par c.Borders(xlInsideHorizontal).ColorIndex = 28 pour avoir le trait pointillé d'une autre couleur mais ça n'a rien donné; je crois que je me suis planté !
 

eriiic

XLDnaute Barbatruc
Re : Modification couleur tableaux par macro

Re,

Code:
Sub couleurEncadrement()
    Dim c As Range, couleur1 As Long, couleur2 As Long, position As Long
    couleur1 = &HC00000
    couleur2 = &HFFFFA0
    Application.ScreenUpdating = False
    For Each c In ActiveSheet.UsedRange
        For position = 7 To 12
            With c.Borders(position)
                If .LineStyle = xlContinuous Then
                    If .Weight = xlHairline Then
                        .Color = couleur2
                    Else
                        .Color = couleur1
                    End If
                End If
            End With
        Next position
    Next c
End Sub
 

kadelmalin

XLDnaute Occasionnel
Re : Modification couleur tableaux par macro

Bonjour,
Eric ton code marche à merveille mais une fois la feuille insérée dans le classeur il tourne en rond ce qui m'oblige à avorter l'opération. J'ai même désigné la plage concernée par la modification sans résultat. Y a-t-il quelque chose dans le code qui le ralentit ?
 

Pièces jointes

  • CD_Bordure.jpg
    CD_Bordure.jpg
    129.5 KB · Affichages: 49

Discussions similaires

Statistiques des forums

Discussions
311 711
Messages
2 081 782
Membres
101 817
dernier inscrit
carvajal