Creation bouton qui filtre sans doublon avec des colonnes verouillees

sevy1

XLDnaute Occasionnel
Bonjour à tous

Je suis entrain de créer une base qui probablement aura au moins 15000 lignes elle comporte comme identifiant le numéro de la déclaration.
A un numéro de déclaration correspond un numéro de sommier et un ou plusieurs numéro d'apurements voir exemple joint
les cellules contenant les formules doivent être vérouillées car cette base sera partagée mais ce que je veux c'est créer
1- un bouton qui filtre les sommiers ( SANS DOUBLON) en cours dont la date d'écheance arrivera à terme (par rapport à la date du jour) dans un mois ou une durée quelconque
2- un bouton qui filtre tous les sommiers (SANS DOUBLON) dont l'échéance est depassée
3- un bouton qui filtre tous les sommiers soldés (SANS DOUBLON) sachant que tout sommier doit porter une des lettre suivante (S, E, D) dans les cas suivants:
E= encours (montant à apurer est supérieur à 0 et date échéance non dépassée par rapport à la date du jour)
S= SOLDE (montant à apurer est nul) dans ce cas tous les doublons de ce sommier doivent porter la lettre S
D= Dépassé (montant à apurer est supérieur à 0 et date échéance dépassée par rapport à la date du jour) cette colonne doit me donner le résultat en colonne Q
Merci pour votre aide
 

Pièces jointes

  • BASE.xls
    34.5 KB · Affichages: 65
  • BASE.xls
    34.5 KB · Affichages: 59
  • BASE.xls
    34.5 KB · Affichages: 61

job75

XLDnaute Barbatruc
Re : Creation bouton qui filtre sans doublon avec des colonnes verouillees

Bonjour sevy1 et bienvenue sur XLD,

Sur ce forum on essaye d'aider ceux qui ont un problème à résoudre, pas de faire du clé en main.

Sur votre fichier il n'y a pas le début du commencement d'une tentative.

Normalement ce que vous souhaitez se réglera par macros.

Je vous conseille de rechercher sur le forum des problèmes similaires et d'étudier le VBA.

A+
 

sevy1

XLDnaute Occasionnel
Re : Creation bouton qui filtre sans doublon avec des colonnes verouillees

Bonjour
Merci pour votre réaction juste pour signaler que je n'ai aucune notion des macros mais petit à petit j'essaie de lire et de comprendre si j'ai attaché ce fichier c'est juste parce que je sollicite votre aide car je n'arrive pas a créer une macro qui puisse me faire ce dont j'ai besoin.
merci pour votre compréhension
 

job75

XLDnaute Barbatruc
Re : Creation bouton qui filtre sans doublon avec des colonnes verouillees

Re,

Scindez les problèmes.

Commencez par construire une liste sans doublon sur une autre feuille.

Là il y a plétore d'exemples sur le forum, par formules ou par macro.

A+
 

sevy1

XLDnaute Occasionnel
Re : Creation bouton qui filtre sans doublon avec des colonnes verouillees

Bonjour
En lisant les discussions dans le forum j'ai pu trouver comment faire une liste sans doublon voir feuille2 de mon fichier;
mais jusque là je ne vois pas comment vais-je m'en sortir
 

Pièces jointes

  • BASE.xls
    39.5 KB · Affichages: 48
  • BASE.xls
    39.5 KB · Affichages: 58
  • BASE.xls
    39.5 KB · Affichages: 53

job75

XLDnaute Barbatruc
Re : Creation bouton qui filtre sans doublon avec des colonnes verouillees

Bonjour sevy1, le forum,

Par formules c'est compliqué.

Surtout qu'il faut garder les dernières valeurs du Montant restant à apurer...

Etudiez cette macro dans Module1 (Alt+F11) :

Code:
Sub SansDoublon()
Dim derlig&, d As Object, sup As Range, i As Long
Application.ScreenUpdating = False
Feuil1.Cells.Copy Cells 'Feuil1 => CodeName de la feuille "Base"
derlig = [A65536].End(xlUp).Row
[A1].Resize(derlig, 17) = Feuil1.[A1].Resize(derlig, 17).Value 'supprime les formules
If derlig < 4 Then Exit Sub
Set d = CreateObject("Scripting.Dictionary")
Set sup = Rows(derlig + 1 & ":" & Rows.Count)
For i = derlig To 4 Step -1 'pour garder les dernières valeurs...
  If d.Exists(Cells(i, 1).Value) Then
    Set sup = Union(sup, Rows(i))
  Else
    d.Add Cells(i, 1).Value, Cells(i, 1).Value
  End If
Next
sup.Delete
[M:M,R:IV].Delete 'la colonne M n'a plus de signification
[A4:P65536].Sort [A4], Header:=xlNo 'tri
End Sub
Je la lance par une macro Worksheet_Activate dans le code de la feuille Base sans doublon.

Fichier joint.

Etape suivante : essayez de faire vos filtrage manuellement, en utilisant soit le filtre automatique, soit le filtre élaboré (avancé).

Quand vous réussissez, enregistrez les opérations avec l'enregistreur de macro.

A+
 

Pièces jointes

  • Filtrage(1).xls
    64.5 KB · Affichages: 48
  • Filtrage(1).xls
    64.5 KB · Affichages: 51
  • Filtrage(1).xls
    64.5 KB · Affichages: 54

Discussions similaires