Appel d'un module dans une sub private

Bonjour à tous,

j'ai enregistré plusieurs mise en forme automatique à l'aide de l'enregistreur de macro.

Les lignes de programme sont conséquentes et enregistré dans module 1. (exemple ci dessous, il y en a 5)

Sub Conges_payes()

 With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent1
        .TintAndShade = -0.249977111117893
        .PatternTintAndShade = 0
    End With
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Color = -16776961
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Color = -16776961
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Color = -16776961
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Color = -16776961
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

End Sub

le problème est que je souhaiterais les appeler dans une sub private afin de raccourcir la macro.

j'ai essayer avec l'outil call mais je n'y arrive pas..

quelqu'un a t-il la solution ?

merci

Bonjour,

Déjà simplifie le code comme suivant :

Sub Conges_payes()
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent1
        .TintAndShade = -0.249977111117893
        .PatternTintAndShade = 0
    End With
    With Selection.Borders
        .LineStyle = xlContinuous
        .Color = -16776961
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End Sub

Tu nous dira si tu as besoin d'appeler cette procédure dans un autre module.

A partir de quel événement souhaites-tu appeler cette macro ? à la sélection de l'onglet ? à la modification d'une cellule ?

merci effectivement c'est déja un peu plus léger.

je souhaite appelé cette mise en forme lorsque je choisi une valeur dans un combobox .. et juste après le bouton validation

Normalement tu n'as pas besoin de mettre call

il suffit de mettre Conges_payes epicetou

pour aller plus loin mets un bout de fichier si la remarque précédente ne résout pas le problème

c'est parfait, congés_payés suffit effectivement à appelé la macro

merci pour tout

Rechercher des sujets similaires à "appel module sub private"