Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

MFC via macro, là je cale...

Infp

XLDnaute Nouveau
Bonjour à tous,

j'ai crée une macro via l'enregistreur de macro pour faire (entre autre) une mise en forme conditionnelle sur le fichier sample.csv joint.
Cette macro fait la chose suivante :
1) Elle "freeze les panes" en C2 -> OK !
2) (C'est cette partie qui foire), elle parcourt un certain nombre de colonnes et si une des colonnes parcourues contient autre chose que 0 alors elle colore en rouge la première cellule de la colonne en question (les cellules dans lesquelles se trouvent item x)
3) Elle fait de la cellule AV1 la cellule active -> OK !

Le 2) ne fonctionne pas MAIS, après avoir exécuté la macro, lorsque je me place en S1 par exemple (1ere cellule d'une des colonnes parcourues), la règle de mise en forme conditionnelle est bien présente. Il semblerait juste qu'elle ne soit pas exécutée et je ne comprends pas pourquoi.

Je vous joins le code de la macro (qui au fait est enregistrée dans "Classeur de macros personnelles" sur mon PC) ainsi que le fichier sample.zip qui contient le fichier sample.csv.

D'avance merci pour votre aide.
Ben.

VB:
Sub SCAN()
'
' SCAN Macro
'
' Touche de raccourci du clavier: Ctrl+s
'
    Range("C2").Select
    ActiveWindow.FreezePanes = True
    Range("U1").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=OU($U$2:$U$1000 <> 0)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Range("S1").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=OU($S$2:$S$1000 <> 0)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Range("K1").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=""ou($K$2:$K$1000 <> 0)"""
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Range("AI1").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=OU($AI$2:$AI$1000 <> 0)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Range("AP1").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=OU($AP$2:$AP$1000 <> 0)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Range("AV1").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=OU($AV$2:$AV$1000 <> 0)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Range("AX1").Select
    Columns("B:B").ColumnWidth = 28.57
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=OU($AX$2:$AX$1000 <> 0)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Range("BC1").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=OU($BC$2:$BC$1000 <> 0)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Range("BK1").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=OU($BK$2:$BK$1000 <> 0)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Range("BO1").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=OU($BO$2:$BO$1000 <> 0)"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Range("AV1").Select
End Sub
 

Pièces jointes

  • sample.zip
    1.8 KB · Affichages: 10
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…