Remplissage de fond de cellule par couleur blanc

Bonjour les développeurs ,

J'ai besoin de votre aide pour résoudre un petit problème s'il vous plait.

J'ai besoin de mettre le fond d'une cellule en couleur blanc s'il y' a pas de condition de saisie ="X".

En effet , par exemple ,si une celulle A5 =X alors rempli une plage de B5 a G5 par de X et avec fond couleur rouge .

Mais je voudrais aussi si on efface le contenu de la celulle A5 , il y'aura pas ni X ni couleur rouge dans la plage .

j'ai essayé FL1.Cells(NoLig, j).interior.color=RGB(255,255,255) mais ça n 'a pas marché .

'le code :

'vider les X

For j = 34 To Cells(6, Columns.Count).End(xlToLeft).MergeArea.Offset(0, 1).Column - 1

If (FL1.Cells(NoLig, j) <> "") Then

FL1.Cells(NoLig, j) = ""

End If

Next j

posmoi = posmois(ch, dat(), pos())

posmoi1 = posmois(ch1, dat(), pos())

posjou = posjour(posmoi, j1)

posjou1 = posjour(posmoi1, j11)

For j = posjou To posjou1

If (Not FL1.Cells(4, j) Like "err") Then

FL1.Cells(NoLig, j) = "X"

FL1.Cells(NoLig, j).Font.Bold = True

FL1.Cells(NoLig, j).Interior.Color = RGB(255, 0, 0)

End If

Next j

je vous remercie d'avance pour votre aide .

Bonjour,

9a fait tout seul avec une MFC !

Bonjour,

Merci pour votre réponse rapide.

J'ai pas compris votre réponse

Bonjour,

MFC = Mise en Forme conditionnel

A l'aide cette fonction tu peux faire ce dont tu souhaite.

Merci pour l'explication ,mais j'ai essayé ça n'a pas marché comme ce remplissage dépend de plusieurs conditions de saisie .

en effet , je dois ajouter la condition dans le code.

ElseIf FL1.Cells(NoLig, 18) <> "" Then

'pour vider les X s'il y' a pas de saisie des X

For j = 34 To Cells(6, Columns.Count).End(xlToLeft).MergeArea.Offset(0, 1).Column - 1

If (FL1.Cells(NoLig, j) <> "") Then

FL1.Cells(NoLig, j) = ""

' je voudrais ajouter de mettre fond blanc aussi

End If

Next j

4REMPLIR LES X avec fond rouge

For j = 34 To Cells(6, Columns.Count).End(xlToLeft).MergeArea.Offset(0, 1).Column - 1

If (Not FL1.Cells(4, j) Like "err") Then

FL1.Cells(NoLig, j) = "X"

FL1.Cells(NoLig, j).Font.Bold = True

FL1.Cells(NoLig, j).Interior.Color = RGB(255, 0, 0)

End If

Next j

Est-ce ceci que tu veux faire ?

J'aimerai supprimer les X ainsi que le fond rouge s'il y' a pas de condition de saisie .

Renisialiser la couleur rouge en blanc .

' si il y' des X alors effacer les X

ElseIf FL1.Cells(NoLig, 18) <> "" Then

For j = 34 To Cells(6, Columns.Count).End(xlToLeft).MergeArea.Offset(0, 1).Column - 1

If (FL1.Cells(NoLig, j) <> "") Then

FL1.Cells(NoLig, j) = ""

' je dois ajouter une condition de mettre la couleur blanc

End If

Next j

'si il y ' des X alors mettre des X avec fond rouge (resolu)

For j = 34 To Cells(6, Columns.Count).End(xlToLeft).MergeArea.Offset(0, 1).Column - 1

If (Not FL1.Cells(4, j) Like "err") Then

FL1.Cells(NoLig, j) = "X"

FL1.Cells(NoLig, j).Font.Bold = True

FL1.Cells(NoLig, j).Interior.Color = RGB(255, 0, 0)

End If

Next j

J'aimerai supprimer les X ainsi que le fond rouge s'il y' a pas de condition de saisie .

Renisialiser la couleur rouge en blanc .

' si il y' des X alors effacer les X

ElseIf FL1.Cells(NoLig, 18) <> "" Then

For j = 34 To Cells(6, Columns.Count).End(xlToLeft).MergeArea.Offset(0, 1).Column - 1

If (FL1.Cells(NoLig, j) <> "") Then

FL1.Cells(NoLig, j) = ""

' je dois ajouter une condition de mettre la couleur blanc

End If

Next j

'si il y ' des X alors mettre des X avec fond rouge (resolu)

For j = 34 To Cells(6, Columns.Count).End(xlToLeft).MergeArea.Offset(0, 1).Column - 1

If (Not FL1.Cells(4, j) Like "err") Then

FL1.Cells(NoLig, j) = "X"

FL1.Cells(NoLig, j).Font.Bold = True

FL1.Cells(NoLig, j).Interior.Color = RGB(255, 0, 0)

End If

Next j

Et bien sur le Excel que je t'ai envoyé si tu ne met rien dans ta cellule A5 ou si tu met un O à la place du X par exemple alors tous ce réinitialise automatiquement. de B5 à G5 les X disparaissent et ce n'est plus un fond rouge mais blanc.

Merci pour votre réponse .Mais ça n'as pas marché .

Il y' pas une fonction sur vba qui permet de mettre fond de la cellule en couleur blanc.

Merci de regarder mon code pour bien me comprendre .

J'ai besoin de votre aide svp .

' si la cellule n 18 est différent de vide alors supprimer tout les X , je voudrais ajouter aussi si le fond est rouge alors mettre le fond en Blanc

ElseIf FL1.Cells(NoLig, 18) <> "" Then

For j = 34 To Cells(6, Columns.Count).End(xlToLeft).MergeArea.Offset(0, 1).Column - 1

If (FL1.Cells(NoLig, j) <> "") Then

FL1.Cells(NoLig, j) = "" "supprimer les X (resolu mais le fond reste rouge "

End If

Next j

"remplissage des X avec fond rouge

For j = 34 To Cells(6, Columns.Count).End(xlToLeft).MergeArea.Offset(0, 1).Column - 1

If (Not FL1.Cells(4, j) Like "err") Then

FL1.Cells(NoLig, j) = "X"

FL1.Cells(NoLig, j).Font.Bold = True

FL1.Cells(NoLig, j).Interior.Color = RGB(255, 0, 0)

End If

Next j

Est-il possible d'avoir le Excel en question pour se pencher dessus ?

Merci.

En effet ,vous pouvez voir que les autres cellules restes rouges même en effaçant la conditions de saisie X, les croix se réinitialise mais le fond de cellule non !

par exemple sur cette partie de code :

'si la case Q cochée

ElseIf FL1.Cells(NoLig, 18) <> "" Then

For j = 34 To Cells(6, Columns.Count).End(xlToLeft).MergeArea.Offset(0, 1).Column - 1

If (FL1.Cells(NoLig, j) <> "") Then

FL1.Cells(NoLig, j) = ""

Je crois voir ce que tu veux faire.

Est-ce ceci ?

En gros dès que tu coche une journée "cellule P8" alors de "AH8" à "BL8" tous les samedi ce coche et deviennent rouge..

Mais je pense qu'effectivement il va falloir passer par du VBA et je laisse quelqu'un de meilleur que moi t'aider dans ce cas..

Bonjour,

Merci pour votre réponse.

J'ai trouvé la solution en passant par MFC .

Le problème est résolu.

Rechercher des sujets similaires à "remplissage fond couleur blanc"