Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Projet Compte bancaire

PORCHER

XLDnaute Occasionnel
Bonjour,
Je réalise actuellement un projet de compte bancaire et je recherche une macro ;
dans cette feuille, colonne "C9:C" j'ai des dates (jour, mois et année)
Je souhaiterais afficher les lignes du mois en cours
et masquer les autres lignes du mois précédent.
Merci de m'éclairer...
 

PORCHER

XLDnaute Occasionnel
J'envoi le fichier. Attention ce n'est qu'un Projet, certaines feuilles ont été retirées de ce projet, si des fenetres s'ouvrent pour indiquer une erreur
- ne pas faire attention- Merci
 

Staple1600

XLDnaute Barbatruc
Re

Alors passe en mode édition, et change ton fichier
Pourquoi?
Parce que voir ci-dessous (extrait de la charte du forum)

[aparté]
Faudra qu'on m'explique un jour pourquoi la grande majorité des nouveaux membres du forum ne prennent pas le temps de lire la charte du forum
[/aparté]
 

Staple1600

XLDnaute Barbatruc
Re

Justement ceci s'applique de 7 à 77 ans (comme disait Hergé)


Bon maintenant retour à la question
Je te laisse tester cette procédure (en lieu et place de l'existant mais juste pour le test)
VB:
Private Sub Worksheet_Activate()
If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
Application.ScreenUpdating = False
Me.Range("$C$8:$K$23").AutoFilter Field:=1, Criteria1:=xlFilterThisMonth, Operator:=xlFilterDynamic
End Sub

PS: Tu oublié de supprimer le fichier de ton premier message
Pour le supprimer, il suffit de retourner sur ce premier message et de cliquer sur Editer puis sur Gérer les pièces jointes
 

PORCHER

XLDnaute Occasionnel
Cette macro masque toutes mes lignes a partir de A8, par contre j'ai une macro que j'ai créé qui est celle-ci:
Sub Masque()
Dim Mois As Byte
Application.ScreenUpdating = False
If ActiveWorkbook.ActiveSheet.Shapes("Bouton").TextFrame.Characters.text = "MASQUER" Then 'Si le texte du bouton est MASQUER
Mois = Month(CDate(Range("B1")))
Me.Rows.Hidden = True ' Masque toutes les feuilles
Me.Rows(Month(Mois) + 8).Hidden = False
Me.Rows("1:8").Hidden = False ' Affiche les lignes de 1 à 8
ActiveWorkbook.ActiveSheet.Shapes("Bouton").TextFrame.Characters.text = "AFFICHER" 'Modifie le texte du bouton en AFFICHER
Else 'Si le texte du bouton est AFFICHER
Cells.EntireRow.Hidden = False
ActiveWorkbook.ActiveSheet.Shapes("Bouton").TextFrame.Characters.text = "MASQUER" ''Modifie le texte du bouton en MASQUER
End If
End Sub
Cette macro affiche la ligne A9 les autres sont masqué ?
 

PORCHER

XLDnaute Occasionnel
OK, j'ai compris, dans la colonne "C8" je n'avais pas le mois de Mai , la feuille que j'ai joint j'avais rectifier les dates, la feuille de mon classeur initial j'étais arreter au mois d'avril, j'ai donc rectifié et ainsi votre macro à fonctionnée - Merci, Merci...-
Mais comment fais t'on si je veux afficher le trimestre ?
 

Staple1600

XLDnaute Barbatruc
Re

Pour le trimestre, il faut jouer sur les options offertes par le filtre automatique
J'ai donc utiliser l'enregisteur de macros pour ce faire
Ce qui donne
VB:
Sub Macro1()
Selection.AutoFilter
ActiveSheet.Range("$A$8:$AI$23").AutoFilter Field:=3, Criteria1:=xlFilterThisQuarter, Operator:=xlFilterDynamic
End Sub
Donc pour filtrer sur le trimestre, c'est ceci qui nous intéresse :xlFilterThisQuarter
Donc il suffit de remplacer l'ancien critère de ma macro par celui-ci
Je te laisse faire le test.
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…