XL pour MAC Extraire les données d'un tableau en fonction du choix de l'année

pilou010

XLDnaute Occasionnel
Bonjour,
En PJ un fichier exemple...
J'ai une feuille "donnees" qui me sert de base de données que je remplie manuellement au fil de l'eau.
Sur une feuille "TDB" qui me sert de synthèse par année, je souhaiterais qu'en sélectionnant l'année en A2, un tableau avec certaines valeurs se mette à jour.
Par très clair ou facile à expliquer, espérant que le fichier joint aide à la compréhension de ma demande.
Ma demande doit être simpliste pour les experts présents sur ce forum, moi je tâtonne...;)
Merci de votre aide
Pilou
 

Pièces jointes

  • Classeur2.xlsx
    15.5 KB · Affichages: 16
Solution
Bonjour @pilou010

Remarque voir la charte

1701487334750.png


Je te propose ce fichier

Phil69970

XLDnaute Barbatruc
re

Remplace la ligne en jaune par :

VB:
If Worksheets("fildonnees").ListObjects("tbl_fildonnees").AutoFilter.FilterMode Then
    Worksheets("fildonnees").ListObjects("tbl_fildonnees").AutoFilter.ShowAllData
End If

Petite précision :
Tu fais bien tes essais avec MON fichier du post #7 et pas avec TON fichier
 

pilou010

XLDnaute Occasionnel
re

Remplace la ligne en jaune par :

VB:
If Worksheets("fildonnees").ListObjects("tbl_fildonnees").AutoFilter.FilterMode Then
    Worksheets("fildonnees").ListObjects("tbl_fildonnees").AutoFilter.ShowAllData
End If

Petite précision :
Tu fais bien tes essais avec MON fichier du post #7 et pas avec TON fichier
Voilà c'est fait et cela fonctionne bien. Il n'y a plus l'erreur et c'était bien sur le fichier du post #7
Je vais maintenant copier/coller le code dans mon fichier 🤞
 

pilou010

XLDnaute Occasionnel
Voilà le fichier exemple modifié si cela peut servir à d'autres personnes.
J'ai copier/coller les codes vba dans le module 1 et dans la Feuil1 de mon fichier et cela fonctionne très bien.
MERCI @Phil69970 pour ton aide, ta patience et ta réactivité.
Cdt
Pilou
 

Pièces jointes

  • Copie Filtre par date V2.xlsm
    36.9 KB · Affichages: 6
Dernière édition:

pilou010

XLDnaute Occasionnel
Re bonjour à tous, @Phil69970
Je reviens chercher de l'aide... En effet lors de l'élaboration du fichier celui-ci évolue quelque peu !
Dans le fichier joint, j'ai noté ce que je souhaite (avec votre aide indispensable) obtenir.
C'est presque la même demande qu'au départ sauf que maintenant je souhaites afficher les valeurs que d'une colonne. Les essais de manipulations du code que je fais fonctionnent bien mais lors de la copie, impossible de coller que la colonne que je souhaites et de plus la mise en forme 'couleur des cellules et format du texte "sautent" chaque fois.
Désolé de vous importuner encore mais sans votre aide, je suis bloqué.
Cdt
Pilou
 

Pièces jointes

  • repilou.xlsm
    88.1 KB · Affichages: 2

job75

XLDnaute Barbatruc
Bonjour pilou010, Phil69970,

Voyez le fichier joint et le code de la feuille "Accueil" :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
[A2].Name = "An"
Application.EnableEvents = False 'désactive les évènements
[L1].Copy [L8:L27] 'RAZ
With [tbl_fildonnees].ListObject.Range
    .Cells(2, .Columns.Count + 2).FormulaR1C1 = "=(YEAR(RC1)=An)*(RC2=""Divers/entretien/dépannage"")"
    .AdvancedFilter xlFilterInPlace, .Cells(1, .Columns.Count + 2).Resize(2) 'filtre avancé
    .Columns(3).Copy [L8]
    .Cells(2, .Columns.Count + 2) = ""
    If .Parent.FilterMode Then .Parent.ShowAllData
End With
Application.EnableEvents = True 'réactive les évènements
End Sub
Il s'exécute automatiquement quand on modifie ou valide une cellule ou qu'on active la feuille.

A+
 

Pièces jointes

  • repilou.xlsm
    49.3 KB · Affichages: 5

Discussions similaires

Statistiques des forums

Discussions
312 207
Messages
2 086 228
Membres
103 160
dernier inscrit
Torto