Modifier remplissage cellule "rouge" à "sans remplissage"

Bonjour,

Je suis plus que débutant, et mes recherches sur le net ne m'ont pas permis de résoudre ce petit problème :

J'aimerais remplacer la couleur de fond des cellules rouges de mon tableau (obtenue par une macro) par "aucun remplissage" ( ou couleur blanche peut-être?). Le tout utilisable depuis un bouton de commande.

D'avance merci pour votre aide.

Bruno

hyppogris a écrit :

Bonjour,

Je suis plus que débutant, et mes recherches sur le net ne m'ont pas permis de résoudre ce petit problème :

J'aimerais remplacer la couleur de fond des cellules rouges de mon tableau (obtenue par une macro) par "aucun remplissage" ( ou couleur blanche peut-être?). Le tout utilisable depuis un bouton de commande.

D'avance merci pour votre aide.

Bruno

Bonjour

Ayant sélectionné ta cellule ou ta sélection :

    With Selection.Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With

cdt,

Bonjour Hyppogris, ti_chou_3,

Hyppogris ce que tu peux faire pour ce genre de petite manip dont tu n'as pas le code et qui est souvent difficilement trouvable sur le net, c'est utiliser l'enregiostreur de macros :

Tu appuies sur "enregistrer une macro",

tu effectues tes manipulations,

tu appuies sur "arrêter l'enregistrement",

et ensuite tu vas dans le code voir ce que ça a enregistré.

Tu trouveras ici la manip pour lancer l'enregistreur de macros : https://www.excel-pratique.com/fr/vba/premiere_macro.php

c'est une bonne astuce pour récupérer du code, notamment sur de la mise en forme de cellules.

Bonsoir ti_chou_3 ,bonsoir Gaz0line,

Merci pour ces réponses, mais sans doute n'ai je pas été très clair en exposant mon problème.

Pour répondre à Gaz0line, j'ai lu tout le cour (très bien fait d'ailleurs) proposé sur ce site, et effectivement, j'ai essayé de trouver la programmation en enregistrant des actions sur la macro. Mais le problème, c'est que je ne sais pas sélectionner que les cellules rouges, j'avais bien réussi à trouver une programmation, mais les fonds d'autres couleurs que rouge disparaissaient aussi.

D'ailleurs, ti_chou_3, ta macro fonctionne bien, mais là aussi, toutes les couleurs sont supprimées, alors que je cherche à ne supprimer que les fonds rouges.

Alors, pourquoi le fond rouge: ...., parce que j'ai déjà "pomper" une super macro sur ce site (https://www.blog-excel.com/gerer-doublons-et-lignes-vides/) qui colore en rouge les doublons et permet de les éliminer. Magnifique, mais le souci, c'est qu'après élimination, la cellule qui reste est toujours rouge, et moi j’aimerais qu'elle redevienne blanche, sans perdre les autres couleurs du tableau. hé hé, et tout ça, avec un bouton indépendant bien sur.

Merci encore à tous ces passionnés qui nous enrichissent en partageant leur connaissance.

hyppogris a écrit :

Bonsoir ti_chou_3 ,bonsoir Gaz0line,

Merci pour ces réponses, mais sans doute n'ai je pas été très clair en exposant mon problème.

Pour répondre à Gaz0line, j'ai lu tout le cour (très bien fait d'ailleurs) proposé sur ce site, et effectivement, j'ai essayé de trouver la programmation en enregistrant des actions sur la macro. Mais le problème, c'est que je ne sais pas sélectionner que les cellules rouges, j'avais bien réussi à trouver une programmation, mais les fonds d'autres couleurs que rouge disparaissaient aussi.

D'ailleurs, ti_chou_3, ta macro fonctionne bien, mais là aussi, toutes les couleurs sont supprimées, alors que je cherche à ne supprimer que les fonds rouges.

Alors, pourquoi le fond rouge: ...., parce que j'ai déjà "pomper" une super macro sur ce site (https://www.blog-excel.com/gerer-doublons-et-lignes-vides/) qui colore en rouge les doublons et permet de les éliminer. Magnifique, mais le souci, c'est qu'après élimination, la cellule qui reste est toujours rouge, et moi j’aimerais qu'elle redevienne blanche, sans perdre les autres couleurs du tableau. hé hé, et tout ça, avec un bouton indépendant bien sur.

Merci encore à tous ces passionnés qui nous enrichissent en partageant leur connaissance.

Il faut filtrer ainsi

For each c in selection

If c.interior.color=3

Mon code donne tout a l heure

end if

Next

Merci ti_chou_3.

Je ne dois pas être très doué, car le code que j'ai saisi ne fonctionne pas. J'ai ajouté Then après if, car le code était en défaut, j'ai aussi ajouté en début une sélection de cellule, mais pas de résultat non plus.

Sub suppression_couleur_rouge_cellules()

For Each c In Selection

If c.Interior.Color = 3 Then

With Selection.Interior

.Pattern = xlNone

.TintAndShade = 0

.PatternTintAndShade = 0

End With

End If

Next

End Sub

Me suis-je trompé dans l'écriture?

Bonne soirée.

hyppogris a écrit :

Merci ti_chou_3.

Je ne dois pas être très doué, car le code que j'ai saisi ne fonctionne pas. J'ai ajouté Then après if, car le code était en défaut, j'ai aussi ajouté en début une sélection de cellule, mais pas de résultat non plus.

Sub suppression_couleur_rouge_cellules()

For Each c In Selection

If c.Interior.Color = 3 Then

With Selection.Interior

.Pattern = xlNone

.TintAndShade = 0

.PatternTintAndShade = 0

End With

End If

Next

End Sub

Me suis-je trompé dans l'écriture?

Bonne soirée.

Sub suppression_couleur_rouge_cellules()

For Each c In range("a1:az5000")

If c.Interior.Color = 3 Then

C.select

With Selection.Interior

.Pattern = xlNone

.TintAndShade = 0

.PatternTintAndShade = 0

End With

End If

Next

End Sub

Je le fais a main levée donc a checker

Merci ti_chou_3

Hélas, ça ne fonctionne pas.

hyppogris a écrit :

Merci ti_chou_3

Hélas, ça ne fonctionne pas.

envoi ton fichier stp

le voici.

hyppogris a écrit :

le voici.

et voila monsieur :

Sub suppression_couleur_rouge_cellules()

For Each C In Sheets("Feuil2").Range("a1:az5000")
    If C.Interior.Color = 255 Then
    C.Select
        With Selection.Interior
    .Pattern = xlNone
    .TintAndShade = 0
    .PatternTintAndShade = 0
        End With
    End If
Next

Sheets("Feuil2").Range("a1").Activate

End Sub
    Sub suppression_couleur_rouge_cellules()

For Each C In Sheets("Feuil2").Range("a1:az5000")
    If C.Interior.Color = 255 Then
    C.Select
        With Selection.Interior
    .Pattern = xlNone
    .TintAndShade = 0
    .PatternTintAndShade = 0
        End With
    End If
Next

Sheets("Feuil2").Range("a1").Activate

End Sub

C'etait 255 et non 3 dsl

Ha ha , yess. Merci encore ti_chou_3.

En effet ça marche bien dans la plage qui est définie.

Je croyais que rouge = 3 moi aussi, alors du coup, ce 255 me perturbe, mais bon, il faut faire des petits pas pour commencer, je chercherais la réponse sur le net.

Merci encore, passe de bonnes fêtes de fin d'années.

hyppogris a écrit :

Ha ha , yess. Merci encore ti_chou_3.

En effet ça marche bien dans la plage qui est définie.

Je croyais que rouge = 3 moi aussi, alors du coup, ce 255 me perturbe, mais bon, il faut faire des petits pas pour commencer, je chercherais la réponse sur le net.

Merci encore, passe de bonnes fêtes de fin d'années.

C'est simple a trouver

tu mets A1 en rouge

tu crées :

sub test()
msgbox range("A1").interior.color
end sub

Si je me souviens on peut aussi l'appeler par vb + code en anglais = vbred vbgreen

Merci,

ça c'était le petit plus de ti_chou_3.

Je m'en servirai sans doute pour trouver les autres codes couleur. Allez hop, je mets de côté, dans la boite à gadget.

bonne nuit

Rechercher des sujets similaires à "modifier remplissage rouge"