Mise en forme ou Macro ???

FraggleRock26

XLDnaute Nouveau
Bonjour, j'aurais besoin d'un petit peu d'aide...

Alors j'ai réalisé un planning sur Excel, une feuille par mois.
Sur chaque Feuille ce planning regroupe plusieurs Bateaux qui réalisent plusieurs excursions sur plusieurs dates et dés fois plusieurs excursions par jour...

J'aimerais arriver à colorer chaque lignes correspondant à un même jour d'une couleur différente...

Par exemple toutes les sorties du 1er Avril surlignées en jaune, du 2 avril en rose, du 3 avril en bleu...

de façon à gagner en lisibilité surtout pour les jours où je me retrouve avec beaucoup de sortie en même temps.

Y'a t'il un moyen de le faire par macros, ou mise en forme conditionnelles... ??

J'espére avoir été assez explicite.
 

titiborregan5

XLDnaute Accro
Re : Mise en forme ou Macro ???

Bonjour Fragglerock, le forum,

Le plus simple pour avoir une réponse adéquate à tes besoins est de poster un fichier exemple.
Sans ça pas évident de se faire une idée précise!
Une MFC paraît difficile, une macro doit pouvoir se faire. Il faudrait par contre définir les couleurs pour les jours, ou faire un +1 dans le code couleur...
A+

Edit: un petit exemple de code mais je crois que le nombre de colorindex est limité à 56 de mémoire...
edit2: ce qui après tout n'est pas génant car tu as 1 feuille / mois donc au max 31 valeurs! ce code fonctionne alors.
VB:
Sub colorie()
For i = 2 To Range("a1").End(xlDown).Row
Cells(1, 1).Interior.ColorIndex = 3


a = Cells(i - 1, 1).Interior.ColorIndex
    If Cells(i, 1) = Cells(i - 1, 1) Then
    Cells(i, 1).Interior.ColorIndex = Cells(i - 1, 1).Interior.ColorIndex
    Else
    Cells(i, 1).Interior.ColorIndex = a + 1
    End If
Next


End Sub
 
Dernière édition:

FraggleRock26

XLDnaute Nouveau
Re : Mise en forme ou Macro ???

Merci beaucoup Titi,

Ta macro fonctionne à merveille, seule chose que j'ai oublié de préciser c'est qu'il faut que cela colore les toutes mes colonnes de A à N

Ensuite j'ai un problème, mais là cela doit être impossible à résoudre, c'est que orsque les couleurs attribuées sont trop foncés, je ne vois plus ce qui est écrit en noir dans les cellules...

Le moyen serait alors peut être de ne pas colorer les cellules, mais de colorer le CADRE des cellules d'une couleur différente...

Que faut il changer dans la macro pour cela ??
 

FraggleRock26

XLDnaute Nouveau
Re : Mise en forme ou Macro ???

Ou alors, colorer les cellules mais uniquement deux couleurs pastel qui alterneraient, par exemple une rose clair et une bleue clair.

Cela donnerait pour le 1er du mois cellules en rose, le 2 cellules en bleu clair, le 3 cellules en rose ...

Quel est le plus facile ??
 

FraggleRock26

XLDnaute Nouveau
Re : Mise en forme ou Macro ???

Alors, je viens d'essayer de colorier les bordures en modifiant la macro d'origine en mettant "Borders" au lieu de "Interior" cela fonctionne mais ce n'est pas assez visible sur la feuille.

La seule solution serait donc d'alterner le coloriage par deux couleurs pastels (rose et bleue) mais alors là je ne sais pas comment modifier la macro...

Merci d'avance :eek:
 

Modeste

XLDnaute Barbatruc
Re : Mise en forme ou Macro ???

Bonjour FraggleRock26, titiborregan5,

@FraggleRock26: revenons quelques heures en arrière:
titiborregan5 à dit:
Le plus simple pour avoir une réponse adéquate à tes besoins est de poster un fichier exemple.
... sur le moment,ça ne t'a pas semblé une bonne idée? Et pas plus maintenant que ce matin?
 

titiborregan5

XLDnaute Accro
Re : Mise en forme ou Macro ???

Re Fragglerock, Modeste, le forum,

Modeste a raison... Mets le fichier, tu verras des réponses d'autant plus adaptées à tes besoins.
J'ai fait volontairement le choix de laisser les cellules difficilement lisibles car sans fichier...

Ce n'est pas à nous de créer un fichier exemple etc... Mais à toi de nous le fournir! qu'on ne bosse pas pour rien (le coup des lignes plutôt que des cellules etc...)!
Tu trouveras sur ce forum des personnes hyper calées qui auront, si ton projet est bien exposé, une solution à 99,99% des tes difficultés!

Juste un petit effort pour rentrer dans le moule de ce forum et donner envie aux gens qui ont la connaissance, de t'éclairer de leurs lumières!

PS: toutes tes requêtes sont réalisables! Cherche sur le forum j'avais fait une macro pour que la couleur de la police soit lisible peu importe la couleur de fond (inversé)! et voilà le lien : https://www.excel-downloads.com/threads/inversion-couleur-de-cellule-impossible.223031/

A+
 
Dernière édition:

FraggleRock26

XLDnaute Nouveau
Re : Mise en forme ou Macro ???

Bonjour,

Si je n'ai pas posté de fichier exemple hier, c'est que j'étais en déplacement et que je n'avais pas le fichier avec moi.

Le voici maintenant (si j'ai pas fait d'erreur en le joignant à ce post), j'ai fait deux feuilles, "ce que j'ai" et "ce que je souhaite" sachant que l'option d'alterner juste deux couleurs pastel est la meilleure (niveau lisibilité) pour moi.

Évidement je préfère avoir une macro car j'ai les 12 mois à faire et sur plus de deux cent lignes par mois...

Merci d'avance.
 

Pièces jointes

  • exemple planning.xlsx
    17.4 KB · Affichages: 30
  • exemple planning.xlsx
    17.4 KB · Affichages: 40
  • exemple planning.xlsx
    17.4 KB · Affichages: 39

Modeste

XLDnaute Barbatruc
Re : Mise en forme ou Macro ???

Bonjour le fil,

Le fichier est bien là ;)

J'ai une question: en colonne A toutes les dates seront "consécutives" ou pourrait-il en manquer l'une ou l'autre, entre deux dates indiquées? En d'autres termes, pourrait-on trouver 16/06/14 et, à la ligne suivante 18/06/14 (ou toute autre date en dehors du 17/06)?
 

Modeste

XLDnaute Barbatruc
Re : Mise en forme ou Macro ???

Re,

Donc, si on alterne les couleurs un jour sur deux, on risque d'avoir la même couleur pour deux dates différentes? Il faudrait prévoir aussi le cas où une ligne est supprimée après coup!? (surtout si ça aboutit au même résultat que celui que je viens d'évoquer)

Finalement, il faudrait voir s'il ne serait pas intéressant de créer 31 mises en forme (couleur de remplissage/couleur de police "compatible") qu'on appliquerait en fonction du jour de chaque date?
Appliquer cette MFC aux 11 autres feuilles ne serait pas plus difficile que le faire par macro, me semble-t-il!
 

FraggleRock26

XLDnaute Nouveau
Re : Mise en forme ou Macro ???

Alors, si une ligne est supprimée (ce qui normalement n'arrive jamais) je peux ré appliquer la macro ça ce n'est pas un problème, car j'ai déjà une macro de tri multiple pour remettre les sorties dans le bon ordre chronologique.

Mais logiquement une fois que le planning est rempli, même si j'ai une annulation, je supprime juste ce que contiens les cellules mais je ne supprime pas la ligne (car plus loin sur la même ligne j'ai des formules....

Mais, effectivement, si il y a un ou plusieurs jours dans le mois où je n'ai pas de réservation, ce(s) jour(s) là ne sera(ont) pas présent(s) donc si la macro tient compte des jours cela sera problématique. N'est il pas possible de créer une macro qui change la couleur de fond dés que la date est différente de celle de la ligne du dessus ?
 

TooFatBoy

XLDnaute Barbatruc
Re : Mise en forme ou Macro ???

Bonjour,

Perso, je peux te proposer une macro qui te permet de colorier ton tableau avec le nombre de couleurs que tu veux (ici 5 couleurs) :

Code:
Sub MiseEnCouleurs()
'
Dim TabloCouleurs(4) As Long
Dim CouleurEnCours As Long
Dim LigDeb As Long, Ligfin As Long, LigEnCours As Long
Dim Debut As Long, Fin As Long
Dim DateEnCours As Long

    TabloCouleurs(0) = RGB(255, 0, 0)
    TabloCouleurs(1) = RGB(0, 255, 0)
    TabloCouleurs(2) = RGB(0, 0, 255)
    TabloCouleurs(3) = RGB(255, 255, 0)
    TabloCouleurs(4) = RGB(255, 0, 255)

    LigDeb = 2
    Ligfin = Range("A1").End(xlDown).Row

    CouleurEnCours = 0
    LigEnCours = LigDeb

    While LigEnCours <= Ligfin
        Debut = LigEnCours
        DateEnCours = Cells(LigEnCours, 1).Value
        While Cells(LigEnCours, 1).Value = DateEnCours
            LigEnCours = LigEnCours + 1
        Wend
        Fin = LigEnCours - 1
        Range(Cells(Debut, 1), Cells(Fin, 14)).Select
        With Selection.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = TabloCouleurs(CouleurEnCours)
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
        CouleurEnCours = (CouleurEnCours + 1) Mod 5
    Wend

End Sub
Tu remarqueras les magnifiques couleurs pastel que j'ai utilisées...


Le principe que j'ai utilisé est de regarder pour chaque ligne si la date est la même que la date de la ligne du dessus.


Quant aux couleurs :

- pour utiliser N couleurs, on crée un tableau en utilisant la valeur (N-1).
Pour 5 couleurs ça donne : DIM TabloCouleurs(4)

- pour faire cycler les couleurs on utilise la fonction modulo.
Pour cycler sur N couleurs, on utilise le modulo N, qui donnera donc un résultat entre 0 et (N-1).
Pour 5 couleurs ça donne : CouleurEnCours = (CouleurEnCours + 1) Mod 5 et CouleurEnCours prendra donc une valeur entre 0 et 4, ce qui correspond justement aux différents indices du tableau de couleurs créé au départ. ;)
 
Dernière édition:

FraggleRock26

XLDnaute Nouveau
Re : Mise en forme ou Macro ???

Merci beaucoup Marcel,

Cela fonctionne nickel, de plus je peux changer les couleurs facilement, ça correspond exactement à ce que je cherchais !!!! :):):)

Merci à tous en tout cas de votre aide et de votre rapidité, je crois que c'est le meilleur Forum d'aide Excel, chapeau bas Messieurs :cool:
 

Discussions similaires

Réponses
12
Affichages
317
Réponses
8
Affichages
234

Statistiques des forums

Discussions
312 859
Messages
2 092 879
Membres
105 548
dernier inscrit
bestitou