Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

couleur pour les cellules non vides

3 réponses
Avatar
mireille
Bonsoir,

J'ai un tableau dans lequel je veux mettre en couleur les cellules non vides
(des colonnes H à O). Pour que l'utilisateur puisse ensuite les modifier.
Uniquement avec 0 ou 1.


J'ai récupéré une macro sur le forum. Mais, dès que je clique sur la
cellule, la couleur disparait !

ActiveWorkbook.ResetColors

For Each F In Array(asheet)
On Error Resume Next
Sheets(F).Activate
Cells.SpecialCells(xlCellTypeConstants, 23).Select
For Each c In Sheets(F).Cells.SpecialCells(xlCellTypeConstants, 23)
If c.Value = Empty Then c.Interior.ColorIndex = 36
Next c
Next

Merci pour votre aide
Mireille

3 réponses

Avatar
Daniel.C
Bonsoir.
Tu peux le faire sans macro avec la mise en forme conditionnelle;
sélectionne la plage clique sur "mise en forme conditionnelle" et "la
valeur est" "différente de " et dans la case suivante, mets "".
Cordialement.
Daniel

Bonsoir,

J'ai un tableau dans lequel je veux mettre en couleur les cellules non vides
(des colonnes H à O). Pour que l'utilisateur puisse ensuite les modifier.
Uniquement avec 0 ou 1.


J'ai récupéré une macro sur le forum. Mais, dès que je clique sur la
cellule, la couleur disparait !

ActiveWorkbook.ResetColors

For Each F In Array(asheet)
On Error Resume Next
Sheets(F).Activate
Cells.SpecialCells(xlCellTypeConstants, 23).Select
For Each c In Sheets(F).Cells.SpecialCells(xlCellTypeConstants, 23)
If c.Value = Empty Then c.Interior.ColorIndex = 36
Next c
Next

Merci pour votre aide
Mireille


Avatar
mireille
Merci !
Mais je veux passer par une macro parce que je ne veux pas que l'utilisateur
fasse des manip sur la feuille.
J'ai rajouté à la fin de la macro

With Selection.Interior
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With

Le pb maintenant, c'est que ca colorie toutes les cellules non vides (y
compris en-tête de colonnes et colonnes A à G) ! Mais ce n'est pas grave.

Merci encore pour votre aide,
Bonne journée,
Mireille

"Daniel.C" a écrit :

Bonsoir.
Tu peux le faire sans macro avec la mise en forme conditionnelle;
sélectionne la plage clique sur "mise en forme conditionnelle" et "la
valeur est" "différente de " et dans la case suivante, mets "".
Cordialement.
Daniel

> Bonsoir,
>
> J'ai un tableau dans lequel je veux mettre en couleur les cellules non vides
> (des colonnes H à O). Pour que l'utilisateur puisse ensuite les modifier.
> Uniquement avec 0 ou 1.
>
>
> J'ai récupéré une macro sur le forum. Mais, dès que je clique sur la
> cellule, la couleur disparait !
>
> ActiveWorkbook.ResetColors
>
> For Each F In Array(asheet)
> On Error Resume Next
> Sheets(F).Activate
> Cells.SpecialCells(xlCellTypeConstants, 23).Select
> For Each c In Sheets(F).Cells.SpecialCells(xlCellTypeConstants, 23)
> If c.Value = Empty Then c.Interior.ColorIndex = 36
> Next c
> Next
>
> Merci pour votre aide
> Mireille





Avatar
mireille
EUREKA !
J'ai trouvé !!

J'ai remplacé tout par :

ActiveSheet.Range("B3:I200").SpecialCells(xlCellTypeConstants, 23).Select
With Selection.Interior
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With

C'est sûrement la chance du débutant, mais ça marche !

Allez, j'avoue : ça fait 2h que je cherche sur le forum. En bidouillant une
formule, j'y suis arrivée !!

Merci au forum et à tous les contributeurs !

"mireille" a écrit :

Merci !
Mais je veux passer par une macro parce que je ne veux pas que l'utilisateur
fasse des manip sur la feuille.
J'ai rajouté à la fin de la macro

With Selection.Interior
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With

Le pb maintenant, c'est que ca colorie toutes les cellules non vides (y
compris en-tête de colonnes et colonnes A à G) ! Mais ce n'est pas grave.

Merci encore pour votre aide,
Bonne journée,
Mireille

"Daniel.C" a écrit :

> Bonsoir.
> Tu peux le faire sans macro avec la mise en forme conditionnelle;
> sélectionne la plage clique sur "mise en forme conditionnelle" et "la
> valeur est" "différente de " et dans la case suivante, mets "".
> Cordialement.
> Daniel
>
> > Bonsoir,
> >
> > J'ai un tableau dans lequel je veux mettre en couleur les cellules non vides
> > (des colonnes H à O). Pour que l'utilisateur puisse ensuite les modifier.
> > Uniquement avec 0 ou 1.
> >
> >
> > J'ai récupéré une macro sur le forum. Mais, dès que je clique sur la
> > cellule, la couleur disparait !
> >
> > ActiveWorkbook.ResetColors
> >
> > For Each F In Array(asheet)
> > On Error Resume Next
> > Sheets(F).Activate
> > Cells.SpecialCells(xlCellTypeConstants, 23).Select
> > For Each c In Sheets(F).Cells.SpecialCells(xlCellTypeConstants, 23)
> > If c.Value = Empty Then c.Interior.ColorIndex = 36
> > Next c
> > Next
> >
> > Merci pour votre aide
> > Mireille
>
>
>