MFC 2 problemes
Bonjour à tous décidément les mise en forme conditionnelles me pose quelques soucis
Le premier sur mon onglet Wshebdo à partir de la ligne 380 je voulais pour chaque colonne une mise en forme conditionnelle qui m'indiquerai les valeur inférieur à la moyenne mon code est le suivant :
Cette région se générera toute seul selon les critéres selctionnés dans l'userform
With .Cells(380, 3).CurrentRegion
.Borders.Weight = xlThin
.Borders.LineStyle = xlDot
.FormatConditions.AddAboveAverage
.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.ThemeColor = xlThemeColorAccent6
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With
End WithMais ca ne marche pas
Mon second problème est pour la mise enforme des vacances scolaires .Je récupère sur mon onglet WsPrm des dates saisies dans mon userform et j'aimerai d'après ces périodes "colorier" les dates correspondantes de ma colonne A des Onglets WsCal et Wshebdo.
Je vous joint un fichier exemple, et je reste à votre disposition pour toutes informations complémentaires
Merci,
Edit [nouveau fichier post suivant]
qui n'existe pas !edlede a écrit :Le premier sur mon onglet Wshebdo ...
edlede a écrit :... à partir de la ligne 380 je voulais pour chaque colonne une mise en forme conditionnelle qui m'indiquerai les valeur inférieur à la moyenne
Aucune mise en forme ??!! et aucune donnée de toute façon pour tester...
Alors j'ai rajouter quelques donnée dans la semaine du 25 décembre.
J'ai supprimer Les MFC qui ne fonctionnais pas.
Et celle que je n'arrive pas à faire fonctionner se situe sur mon userform générateur,
With .Cells(380, 3).CurrentRegion
.Borders.Weight = xlThin
.Borders.LineStyle = xlDot
.FormatConditions.AddAboveAverage
.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.ThemeColor = xlThemeColorAccent6
.TintAndShade = 0.399975585192419
.PatternTintAndShade = 0
End With
End WithVoilà désolé
Bon finalement j'ai réussi à gérer ses deux problemes.
Concernant les MFC des vacances scolaire j'ai utilisé cette formule =SOMMEPROD(($A2>=DVac)*($A2<=FVac))>0 (Merci Leakim)
que j'ai mis en dure en vba
With WsCal.Cells(2, 1).Select
Range(Selection, Selection.End(xlDown)).Select
With Selection
.FormatConditions.Add Type:=xlExpression, Formula1:="=SOMMEPROD(($A2>=DVac)*($A2<=FVac))>0"
.FormatConditions(3).SetFirstPriority
With .FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 16764006
.TintAndShade = 0.4
End With
End With
End WithConcernant la mise en forme de mon tableau à colonne variable et ligne variable dont je voulais connaitre pour chaque colonne les valeurs en dessous de la moyenne j'ai construit ceci qui fonctionne
a = "Post" & 2 ' récupère la liste des postes
b = "Alist" & 2' récupère la liste des types d'absences
n = Range(a).Rows.Count 'compte le nombre de poste
m = Range(b).Rows.Count 'compte le nombre de poste absence
p = n + m - 2 'addition des 2 comptes - 2 pour commencer à la colonne C
For i = 3 To p
Wshebdo.Cells(380, i).Select 'Selection de la ligne de départ
Range(Selection, Selection.End(xlDown)).Select 'Selection de la première ligne jusqu'a la derniere
Selection.FormatConditions.AddAboveAverage
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
Selection.FormatConditions(1).AboveBelow = xlBelowAverage
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent2
.TintAndShade = 0.799981688894314
End With ' applique la mise en forme conditionnelle sur les sélectionnées de la colonne
Selection.FormatConditions(1).StopIfTrue = False
Next i 'passe à la colonne suivante jusqu'a la derniere colonne du tableau ( Valeur p)Merci à ceux qui ont pu me donner un coup de main