J'ai une grande base de données et j'utilise une vbascript afin de créer de nombreux classeurs différents qui ne contiennent que quelques exemples de données de la base de données complète. Cela fonctionne bien, j'utilise une matrice pour obtenir toutes les entrées pertinentes, puis je la colle dans une plage définie d'un nouveau classeur (et non en copiant cellule par cellule d'une feuille de calcul dans l'autre). Mon problème est maintenant que je dois ajouter deux règles pour la mise en forme conditionnelle.
Je cherche quelque chose comme:
Application.Worksheets("Database").Cells(k, ColumnOfInterest).Select
With Selection
.FormatConditions.Delete
.FormulaR1C1 = "=RC[-3] =""A"""
.FormatConditions.Add Type:=xlExpression, Formula1:=.FormulaR1C1Local
.FormatConditions(1).Interior.ColorIndex = 6
.Formula = ""
End With
With Selection
.FormatConditions.Delete
.FormulaR1C1 = "=RC[0] ="""""
.FormatConditions.Add Type:=xlExpression, Formula1:=.FormulaR1C1Local
.FormatConditions(1).Interior.ColorIndex = 5
.Formula = ""
End With
En d’autres termes, lorsque l’utilisateur a sélectionné "A" dansla 3ème cellule à gauche, alors la couleur de la cellule pertinente doit être l'index de couleur 6, si la cellule d'intérêt est vide, le code de couleur est 5. Malheureusement, ce code ne fonctionne pas et ne crée qu'une seule règle pour conditionnel mise en forme.
Réponses:
2 pour la réponse № 1.FormatConditions.Delete supprime le formatcondition précédent. Si vous supprimez .FormatConditions.Delete dans la deuxième partie et remplacez .FormatConditions (1) par .FormatConditions (2), cela devrait fonctionner:
Application.Worksheets("Database").Cells(k, ColumnOfInterest).Select
With Selection
.FormatConditions.Delete
.FormulaR1C1 = "=RC[-3] =""A"""
.FormatConditions.Add Type:=xlExpression, Formula1:=.FormulaR1C1Local
.FormatConditions(1).Interior.ColorIndex = 6
.Formula = ""
.FormulaR1C1 = "=RC[0] ="""""
.FormatConditions.Add Type:=xlExpression, Formula1:=.FormulaR1C1Local
.FormatConditions(2).Interior.ColorIndex = 5
.Formula = ""
End With