condition dans univers restreint
Bonjour,
Je désire ecrire une condition avec restrictions. Cette condition me permettra d'obtenir la dernière date de chaque mois.
Ma macro analyse les cellules de la colone 2 (cette cellule comporte la date)L'analyse est effectuée ligne après ligne en les comparant entre elles: la cellule de la ligne 3 avec la cellule de la ligne 2 puis la cellule de la ligne 4 avec la cellule de la ligne 3 puis la cellule de la ligne 5 avec la cellule de la ligne 4, ect
Les informations traitées dans la date sont l'année et le mois uniquement.
Je désire écrire la condition suivante:
Si le mois de la ligne n+1 est supérieur au mois de la ligne n sachant que l'année est la même, alors copie et colle la ligne n dans la feuille2 et colore la ligne n dans la feuille1
Voici le code que j'ai créé:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| Sub nouveau()
Dim Lig As Long, DerLig As Long
Dim Y As Integer, YC As Integer
Dim M As Byte, MC As Byte
Dim i As Long
DerLig = 2
Sheets("Sheet2").Cells.ClearContents
With Sheets("Sheet1")
.Cells.Interior.ColorIndex = xlNone
Y = Year(.Cells(2, 2))
M = Month(.Cells(2, 2))
For Lig = 2 To .Range("B65536").End(xlUp).Row
YC = Year(.Cells(Lig, 2))
MC = Month(.Cells(Lig, 2))
If MC > M Or (MC = 1 And M = 12) And YC = Y Or (YC = 2000 And Y = 2009) Then
.Rows(Lig - 1).Copy Sheets("Sheet2").Rows(DerLig)
DerLig = DerLig + 1
.Rows(Lig - 1).Interior.ColorIndex = 3
Y = YC And M = MC
End If
Next Lig
End With
End Sub |
Mais c'est pas bon du tout et je n'arrive pas à comprendre ce qui ne vas pas et c'est pour cette raison que je sollicite votre aide pour interprêter le code et comprendre ou je dois le modifier...
Merci,