VBA - Enlever la couleur d'une celulle colorée par une macro

Bonjour,

Dans mon fichier, j'ai une macro dans mon "code de la feuille" qui permet de colorer une ligne suivant la date inscrite dans la première cellule. Deux couleurs alternées suivant un mois par ou impair.

Premier problème :

Quand j'insère une ligne avec une macro (activée à partir d'un bouton), la ligne insérée est de suite colorée par défaut, j'aimerais quelle soit sans remplissage.

Second problème :

Quand j'efface les données de la ligne, la couleur est conservée, ce qui m’entêtent un peu du coup.

Voici les codes liés à cette fonction :

Code de la feuille :

  Private Sub Worksheet_Change(ByVal Target As Range)
Dim oRange As Excel.Range
    If Target.Column = 2 And IsDate(Target.Value) Then
        Set oRange = ActiveSheet.Range(ActiveSheet.Cells(Target.Row, Target.Column), ActiveSheet.Cells(Target.Row, 8))
        ColorLigne oRange
    End If
    End Sub
        

La macro liée :

Sub ColorLigne(zRange As Excel.Range)
    Dim lColor1 As Long, lColor2 As Long
    Dim oCell As Excel.Range
    'Initialisation des 2 couleurs
    lColor1 = RGB(217, 225, 242)
    lColor2 = RGB(255, 242, 204)

    Set oCell = zRange.Cells(1, 1)
    If IsDate(oCell.Value) Then
        'si mois pair alors couleur1
        If Month(oCell.Value) Mod 2 = 0 Then
            zRange.Interior.Color = lColor1
            'si mois impair alors couleur2
        Else
            zRange.Interior.Color = lColor2
        End If
    End If

    'On fait le ménage
    Set oCell = Nothing
    End Sub

Bonjour,

Ci-joint ton fichier ...avec plusieurs petites mises au point ...

En espérant que cela t'aide ...

Bonjour,

Impeccable ça !

Merci

Bonjour,

Impeccable ça !

Merci

Bonjour,

Content de savoir que cela fonctionne ...comme tu le désirais ....

Merci pour tes remerciements ... ET pour avoir cliqué sur le ... ...

Ah finalement j'ai quand même trouvé un petit problème

Quand je supprime juste la date dans la première cellule, ça enlève bien la couleur de la ligne comme souhaité, par contre quand je sélectionne plus d'une case avec la date et que je supprime les données, ça laisse la couleur. Vu que la plupart du temps je sélectionne la ligne et que je fais "Suppr.", ça laisse la couleur.

A voir si tu peux régler ça

Antho,

Puisque l'objectif est de faciliter la vie ...

Je viens de t'ajouter ... à l'intérieur des 7 colonnes ton Tableau ...un double-clic

sur n'importe quelle cellule ... te permet d'effacer les données et de supprimer la couleur de la ligne ...

En espérant que cela t'aide ...

Hum idée intéressante mais en pratique il m'arrive d'utiliser le "Double-clic" pour modifier une erreur de frappe dans un mot.

Vu qu'une fois effacé, il n'est pas possible d'annulé, c'est un peu risqué de l'utiliser car je sais déjà que je vais me faire avoir plus d'une fois.

Mais j’apprécie ta proposition, c'est gentil !

Re,

No problemo ...

Version 3 ... Double-Clic supprimé ...

et remplacé par un Clic Droit ...

Hum j'aime pas trop non plus car je ne peu plus utiliser le clic droit dans le tableau...

Et même problème un petit clic dans le tableau et je perd la ligne à tout jamais... vu que je ne peu pas annuler la suppression.

Je préfère mon ancienne méthode, de sélectionner et supprimer les données et que la couleur disparaisse

Re,

No problemo ...

Version 4 ... à l'ancienne ......

Ah ça me plait plus

Impeccable, merci !

(Bon je reviendrais vers toi si je trouve un petit détails encore )

Ah ça me plait plus

Impeccable, merci !

(Bon je reviendrais vers toi si je trouve un petit détails encore )

Content que cela te convienne ...

Tu as mis un s à détail ... donc tu comptes en trouver plusieurs ...

On sait jamais

Du coup j'ai trouver un "petit détail". Il m'arrive de copié-collé une ou plusieurs lignes entières, du coup ça ne met pas la couleur sur la ligne, vu que cette méthode est plus rare et si ça peut simplifier : tu peux ajouter la macro de "coloration" à la fin de la macro de Trie stp ?

Merci encore !

Bonjour,

Est-ce que la Version 5 conviendra ...???

Bonjour,

Hum ça marche pas trop, je précise mon problème je pense que ça vient de là.

En fait je développe mon fichier avec des améliorations sur un fichier vierge, une fois qu'il marche bien je le passe sur les chantiers en cours. Du coup je fais copier coller une longue liste de facture dans mon tableau mais du coup ça colorie pas même si je fais le bouton "Trie".

La liste fait plus de 700 lignes sur un chantier en particulier.

En fait j'ai remarqué que la couleur s'étend sur un certain nombre de lignes mais si je fais "insérer ligne" la sélection s'agrandit. Du coup dans ce cas où une longue liste je dois cliquer plein de fois sur insérer ligne ou tu as une solution ?

Autre petit détail, j'ai remarqué des petits bugs dans la coloration des lignes ou quand je supprime certaines lignes elle reste en couleur. J'ai du mal à identifier quand ça arrive (ça à l'air de bien marcher avec une longue liste de données). Je reviendrais vers toi si vraiment c'est gênant.

Merci encore chef !

Re,

Si je comprends bien ... dans certaines circonstances, tu as besoin de beaucoup de lignes ...

Tu peux toujours enregistrer une macro pour insérer beaucoup de lignes ...

Oui dans le cas où je commence mon chantier je prend le fichier vierge et je fais insérer une ligne à chaque fois que j'ai une facture du coup pas de problème, mais vu que j'utilise déjà le fichier (version antérieure à ces améliorations) depuis un moment sur certains chantiers, j'ai accumulé pas mal de factures. Quand je trouve une amélioration à faire je fais copié collé mes factures sur le nouveau fichier Excel pour éviter de faire les modifs dans chacun des fichiers un par un

Rechercher des sujets similaires à "vba enlever couleur celulle coloree macro"