Bonjour le forum,
Je veux à partir de la date d'Aujourd'hui détérminer les trois mois précédent. Par exemple, aujourd'hui on est le 01/07/2010, je veux une macro qui me renvoie "06" , "05" et "04"
Merci beaucoup pour vos futurs réponse.
Bonjour le forum,
Je veux à partir de la date d'Aujourd'hui détérminer les trois mois précédent. Par exemple, aujourd'hui on est le 01/07/2010, je veux une macro qui me renvoie "06" , "05" et "04"
Merci beaucoup pour vos futurs réponse.
Une piste
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Public Function MoisPrecd(ByVal ofst As Byte) As Byte 'Si Date=01/07/2010 'ofst: nombre de mois à retrancher 'MoisPrecd(1)=6 'MoisPrecd(2)=5 'MoisPrecd(3)=4 MoisPrecd = Month(DateAdd("m", -ofst, Date)) End Function
Merci mercatog.
En fait j'ai pa su comment intégrer ton code dans le mien (je suis débutante) car mon but et de comparer les les mois obtenu avec des cellules de mon tableau. Voici mon code :
C'est la partie en commentaire que je n'arrive pas à coder sachant que mes dates qui existent dans ma feuille excel sont de la forme "jj/mm/yyyy" donc il faut calculer les trois mois précédents sous la forme "mm" pour pouvoir comparer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Sub Mois_précédent() 'calcul des 3 variable mois_precedent1, mois_precedent2, mois_precedent3 qui contiennent les 3 mois précédent Worksheets("Feuil1").UsedRange.Rows(9).Select Dim cellule As Range For Each cellule In Selection.Cells ma_date = CDate(cellule.Value) mon_mois = Month(ma_date) If (mon_mois = mois_precedent1 Or mon_mois = mois_precedent2 Or mon_mois = mois_precedent3) Then 'cellule.Delete 'End If 'Next cellule End Sub
Merci.
Une proposition (si j'ai bien compris)
supprimer toutes les lignes où dans la colonne I, le mois de la date s'y trouvant, correspond aux 3 derniers mois à partir du mois actuel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub Mois_precedent() Dim LastLig As Long, i As Long Application.ScreenUpdating = False With Sheets("Feuil1") LastLig = .Cells(Rows.Count, 9).End(xlUp).Row For i = LastLig To 2 Step -1 If IsDate(.Range("I" & i).Value) Then If Month(.Range("I" & i).Value) < Month(Date) And Month(.Range("I" & i).Value) >= Month(DateAdd("m", -3, Date)) Then .Rows(i).Delete End If Next i End With End Sub
Parfait, ça m'a résolu mon problème
Merci mercatog et pc75 pour vos réponses
Partager