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 31 32 33 34 35 36 37 38
| Sub Macro6()
Dim MoisReel As Variant 'je déclare le mois système -1
Dim MoisInf As Variant 'je déclare le mois système -2
Dim madate As Variant 'je déclare la date des cellules G1 à R1
Dim ColCache As Integer 'je déclare les colonnes à cacher
Dim Plage As Range
Dim Cell As Range
Set Plage = Range("G1:R1")
' Plage.NumberFormat = "@" 'j'ai vu sa ailleurs, mais j'avoue ne pas trop avoir compris le but ... dsl
MoisReel = Month(Date) - 1 'valeur prise, je ne veux que le mois
MoisInf = Month(Date) - 2
MsgBox (MoisReel) 'hihi j'ai vérifié sa marche, j'ai bien (je suis en octobre) 09 ou septembre
MsgBox (MoisInf) 'hihi j'ai vérifié sa marche, j'ai bien (je suis en octobre) 08 ou juillet
For Each Cell In Plage 'dans la plage, je regarde chaque cellule
madate = Cell.Value
If Mid(madate, 2, 2) <> MoisReel Or MoisInf Then 'je veux qu'il ne fasse le test que sur le mois (mid... est la pour uniquement prendre le mois)
ColCache = ActiveCell.Column 'ici je cache tout ce qui nest pas égal au mois système -1 et -2
Columns(ColCache).Select
Selection.EntireColumn.Hidden = True
Else
For i = 4 To 23 Step 1 'maintenant sur les 2 colonnes que je désire visualiser, je veux mettre le format
Range("").Select 'mais j'ai du mal a faire le boucle sur les colonnes que je désire
Selection.FormatConditions.Delete
Selection.Formatcontitions.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="=$" & i
Selection.FormatConditions(1).Interior.ColorIndex = 3
Next
End If
Next
Set Plage = Nothing
End Sub |
Partager