Transformer Macro VBA en fonction
gary
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'exécute une macro qui me permet de récupérer la couleur (couleur mise grâce à une MEFC) d'une cellule.
C'est macro (reprise intégralement d'un site internet) affiche le résultat dans une MsgBox pour la cellule active (voir macro ci-dessous)
Sub QuelleCouleurSiFormatConditionnel()
Dim FC As FormatCondition, F1, F2
For Each FC In ActiveCell.FormatConditions
If FC.Type = xlCellValue Then
F1 = Evaluate(FC.Formula1)
Select Case FC.Operator
Case xlBetween: If ActiveCell >= F1 _
And ActiveCell <= Evaluate(FC.Formula2) Then Exit For
Case xlEqual: If ActiveCell = F1 Then Exit For
Case xlGreater: If ActiveCell > F1 Then Exit For
Case xlGreaterEqual: If ActiveCell >= F1 Then Exit For
Case xlLess: If ActiveCell < F1 Then Exit For
Case xlLessEqual: If ActiveCell <= F1 Then Exit For
Case xlNotBetween: If ActiveCell < F1 _
Or ActiveCell > Evaluate(FC.Formula2) Then Exit For
Case xlNotEqual: If ActiveCell <> F1 Then Exit For
End Select
Else
If Evaluate(FC.Formula1) Then Exit For
End If
Next FC
If Not FC Is Nothing Then MsgBox FC.Interior.ColorIndex _
Else MsgBox ActiveCell.Interior.ColorIndex
End Sub
J'aimerai modifier cette macro, voire en faire une fonction (je sais même pas si c'est possible...) afin de passer en argument la cellule que je veux tester :
ex : QuelleCouleurSiFormatConditionnel(A1) me retournerait la couleur de la cellule A1. Est-ce possible?
Merci pour votre aide !
J'exécute une macro qui me permet de récupérer la couleur (couleur mise grâce à une MEFC) d'une cellule.
C'est macro (reprise intégralement d'un site internet) affiche le résultat dans une MsgBox pour la cellule active (voir macro ci-dessous)
Sub QuelleCouleurSiFormatConditionnel()
Dim FC As FormatCondition, F1, F2
For Each FC In ActiveCell.FormatConditions
If FC.Type = xlCellValue Then
F1 = Evaluate(FC.Formula1)
Select Case FC.Operator
Case xlBetween: If ActiveCell >= F1 _
And ActiveCell <= Evaluate(FC.Formula2) Then Exit For
Case xlEqual: If ActiveCell = F1 Then Exit For
Case xlGreater: If ActiveCell > F1 Then Exit For
Case xlGreaterEqual: If ActiveCell >= F1 Then Exit For
Case xlLess: If ActiveCell < F1 Then Exit For
Case xlLessEqual: If ActiveCell <= F1 Then Exit For
Case xlNotBetween: If ActiveCell < F1 _
Or ActiveCell > Evaluate(FC.Formula2) Then Exit For
Case xlNotEqual: If ActiveCell <> F1 Then Exit For
End Select
Else
If Evaluate(FC.Formula1) Then Exit For
End If
Next FC
If Not FC Is Nothing Then MsgBox FC.Interior.ColorIndex _
Else MsgBox ActiveCell.Interior.ColorIndex
End Sub
J'aimerai modifier cette macro, voire en faire une fonction (je sais même pas si c'est possible...) afin de passer en argument la cellule que je veux tester :
ex : QuelleCouleurSiFormatConditionnel(A1) me retournerait la couleur de la cellule A1. Est-ce possible?
Merci pour votre aide !
A voir également:
- Transformer Macro VBA en fonction
- Fonction si et - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Transformer majuscule en minuscule word - Guide
- Transformer une image en icone - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur