3 pièce(s) jointe(s)
Variable dans une formule
Bonjour,
Je souhaiterai effectuer une MFC sur des cellules d'un tableur.
J'ai une cellule "Z16" dans lequel il y a un chiffre variable en l’occurrence on va dire 3.
En fonction de ce chiffre, un certains nombre de cellules se mettent en forme. je voudrai que si elles sont vides, les cellules s'affichent d'une certaine couleur et si elles sont remplies elles se remettent en blanc comme initialement. (Enfin transparent quoi)
J'ai réussis à mettre en place la première MFC mais lorsqu'il s'agit de faire l'autre partie (Celle ou ca se remet en transparent) je n'arrive pas à le faire ligne par ligne ! C'est tout le bloc qui se change
Etat actuel :
Pièce jointe 585585
Pièce jointe 585586
Etat souhaité :
Pièce jointe 585587
J'ai essayé avec la fonction With et la fonction If mais je dois mal les utiliser car rien ne se passe
Code:
1 2 3 4 5 6 7 8 9 10 11
| Dim MaVariable As Range
With Range(Cells(i + 20, 24), Cells(i + 20, 25))
Set MaVariable = Range(Cells(i + 20, 24), Cells(i + 20, 25))
.FormatConditions.Add Type:=xlExpression, Formula1:="=NBCAR(SUPPRESPACE(X21))=0"
' .FormatConditions.Add Type:=xlExpression, Formula1:="=NBCAR(SUPPRESPACE(" & MaVariable & "))=0" 'J'ai voulu tenté avec une variable mais ça fait tout planter et je n'ai plus aucun résultat
With .FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = RGB(255, 199, 206)
.TintAndShade = 0
End With
End With |
Code:
1 2 3 4 5 6
|
'Range(Cells(i + 20, 24), Cells(i + 20, 25)) 'Correspond à mes cellules qui s'ajoutent quand je renseigne le nombre de paramètres
If IsEmpty(Range(Cells(i + 20, 24), Cells(i + 20, 25))) Then
Range(Cells(i + 20, 24), Cells(i + 20, 25)).Interior.Color = RGB(255, 199, 206)
Else
Range(Cells(i + 20, 24), Cells(i + 20, 25)).Interior.Color = RGB(255, 255, 255) |
Auriez-vous une idée de comment je peux faire en sorte de n'avoir que la cellule dans laquelle j'écrit qui se remet en transparent ?
Pour vous situer un peu le contexte, il s'agit d'une validation visuelle tant que la cellule est rougeâtre, l'utilisateur l'a oubliée.
Le code est plus gros que ça mais je sais pas si c'est réellement utile de vous le mettre en entier. Afin d'éviter un spam potentiellement inutile je le met pas dans un premier temps. Si vous en avez besoin je le mettrais lors de mon prochain post
Merci d'avance,
Cordialement,
Axel