Caractériser les mois et années

Bonjour,
Est-ce possible de particulariser les mois et les années ?
Bien sûr, le fichier joint est « bidon », et beaucoup plus complexe
Pas de soucis, s’il faut rajouter des colonnes

Merci de vos réponses

Re
Ci-joint le fichier
CordialementCaractériser les mois et années.xlsx (69,9 Ko)

Bonsoir,
J’ai pas tout compris,
La réponse est déjà là

Explique un peu plus ta demande

Bonsoir,

Désolé Mimimathy

Je souhaiterais que les mois soient séparés par un trait, ainsi que les années

Exemple un trait bleu entre chaque année

Trait bleu entre décembre 2014 et janvier 2015

Un trait vert entre chaque mois

Trait vert entre janvier et février, etc.

Merci de t’intéresser à mon problème

Bonjour,

A voir avec 2 MFC
L’épaisseur des traits ne peut-être plus épais
Caractériser les mois et années.xlsx (68,9 Ko)

Re
Et une version VBA où les traits sont plus épais

MACROS:

Option Explicit
Dim Cel As Range, Plage As Range
Dim Dl%, Lig%

Sub MiseEnForme()
  Application.ScreenUpdating = False
  
  Dl = Cells(Rows.Count, 1).End(xlUp).Row 'Dernière ligne
  'Traits sur les mois
  Set Cel = Cells(3, 1)
    For Lig = 3 To Dl + 1 'Boucle sur les cellules Date du tableau
      If Month(Cells(Lig + 1, 3)) <> Month(Cells(Lig, 3)) Then 'Compare si les mois sont identiques
        Set Plage = Cells(Lig + 1, 3).Resize(, 9) 'Plage des cellules à traiter
          With Plage.Borders(xlTop) 'Trait sur le haut des cellules
            .LineStyle = 8 'Ligne discontinue
            .Color = vbBlue 'Couleur
            .Weight = -4138 'épaisseur
          End With
        Set Cel = Cells(Lig, 1)
      End If
    'Traits sur les années
      If Year(Cells(Lig + 1, 3)) <> Year(Cells(Lig, 3)) Then 'Compare si les années sont identiques
        Set Plage = Cells(Lig + 1, 1).Resize(, 11)
          With Plage.Borders(xlTop)
            .LineStyle = 1 'Ligne continue
            .Color = vbGreen
            .Weight = -4138
          End With
        Set Cel = Cells(Lig, 1)
      End If
    Next Lig

End Sub
Sub EffacerLigne() 'Remise à zéro -ôte les lignes
  With ActiveSheet
    Set Cel = .Cells(2, 1)
    Dl = .Cells(.Rows.Count, 1).End(xlUp).Row
    Cel.Resize(Dl, 11).Borders.LineStyle = -4142
  End With
End Sub

Caractériser les mois et années.xlsm (76,3 Ko)

1 « J'aime »

Bonjour,
Bravo Mimimathy88
C’est parfait, merci
Me concernant, il me reste le plus dur : quelle méthode, je vais choisir ? :grinning:
Une bonne nouvelle, je peux apparemment inscrire de nouveaux sujets sur le site
Bonne continuation