Trouver le plus ancien !!

Rachel_01

XLDnaute Nouveau
Bonjour,

Je bloque un peu sur une macro mais pourtant ça n'a pas l'air très compliqué..

J'ai deux colonnes:
Colonne A : une liste d'évènements
Colonne B : une liste de dates

Un même évènement peut apparaître plusieurs fois à des dates différents et à des dates similaires.

exemple:
A : B
Ev 1 : date 1
Ev 1: date 1
Ev 1 : date 2
Ev 1 : date 3
Ev 2 : date 1
Ev 2 : date 4
Ev 2: date 5
Ev 3 : date 1
EV 3 : date 2
Ev 3 : date 4


j'ai réussi a enlever les évènements qui apparaissent plusieurs fois à une même date grâce à un filtre élaboré.

Cependant je voudrais maintenant garder un seul évènement de chaque type en conservant seulement celui qui est le plus ancien...

merci de votre aide.
 

gwenlorin

XLDnaute Occasionnel
Re : Trouver le plus ancien !!

Bonjour,

tu peux faire un tri de tes 2 colonnes avec :
- tri1 sur les événements en croissant
- tri2 sur les dates en décroissant de manière à avoir la plus récente en haut

après tu utilises la macro "Doublons" contenue dans la pièce jointe en faisant une recherche sur la colonne A et en cochant "supprimer les doublons".

Tu obtiendras 1 ligne par événement avec la date la plus récente.

Tu peux aussi automatiser ton tri, le lancement de la macro "Doublons" avec des paramètres fixes dans une macro.
 

Pièces jointes

  • Doublons.xls
    41 KB · Affichages: 59
  • Doublons.xls
    41 KB · Affichages: 65
  • Doublons.xls
    41 KB · Affichages: 65

Catrice

XLDnaute Barbatruc
Re : Trouver le plus ancien !!

Bonjour,

ci-joint, une solution formule et une solution macro
 

Pièces jointes

  • Classeur1.xls
    25.5 KB · Affichages: 118
  • Classeur1.xls
    25.5 KB · Affichages: 131
  • Classeur1.xls
    25.5 KB · Affichages: 136
Dernière édition:

Rachel_01

XLDnaute Nouveau
Re : Trouver le plus ancien !!

Bonjour,

Merci les deux macro fonctionnent très bien après adaptation pour trouver le plus ancien et non le plus récent!

Cependant je me suis rendu compte que la solution utilisant les formules est celle qui correspond le mieux à l'organisation de reste demon tableau (car j'ai également une colonne avec tous les évènements possible et le tri sur les dates chamboule toute l'orga actuelle.. je serais donc obligé de passer par une étape intermédiaire!!)

Mais je n'arrive pas à adapter la formule pour trouver le MIN, en effet il m'indique la date du 00/01/1900 pour tous les évènements !!!
Si vous avez la solution à ce petit soucis je suis preneuse, sinon je passerai par l'étape intermédiaire à l'aide d'une macro.

merci beaucoup de votre aide.
 

Tibo

XLDnaute Barbatruc
Re : Trouver le plus ancien !!

Bonjour,

Plutôt que de passer par SOMMEPROD, une solution avec une autre formule matricielle :

en E2 :

Code:
=MAX(SI($A$2:$A$15=D2;$B$2:$B$15))

Formule matricielle à valider par CTRL + MAJ + ENTREE

à recopier vers le bas

Remplacer MAX par MIN pour la date la plus ancienne.

Je te laisse tester

@+
 

Catrice

XLDnaute Barbatruc
Re : Trouver le plus ancien !!

Bonjour,

Une autre solution sans validation matricielle pour le MIN (qui utilise le MAX ;))

=SOMMEPROD(1/MAX(1/$B$2:$B$15*($A$2:$A$15=D12)))


Pour répondre à la question de Rachel, le MIN ne fontionnait pas avec ma formule car la matrice renvoie des dates et des zeros.
Dans le cas du MAX, on trouve facilement le maximum qui exclue de fait les zeros.
En revanche, le MIN récupere directement les zeros d'où résultat => 00/01/1900
 

Discussions similaires

Statistiques des forums

Discussions
312 496
Messages
2 088 980
Membres
103 996
dernier inscrit
KB4175