Extraction de lignes redondantes en fonction d'un critère discriminant (MAX) sur une colonne.

Le
num_gg
Bonjour à tous.

Désolé pour ce nouveau post sur une problématique très (trop)
classique sous Excel
Voilà: J'ai un long fichier Excel de la forme:

Matricule Nom Valeur
00001 DUPONT 345
00001 DUPONT 322
00003 DUPUIS 455
00003 DUPUIS 455
00003 DUPUIS 435
00003 DUPUIS 422
00005 DUCHAMP 123
00005 DUCHAMP 220
00005 DUCHAMP 125
00005 DUCHAMP 125
00008 DURAND 300
00008 DURAND 320

Duquel je ne veux extraire que les lignes où, pour chaque matricule,
la valeur 'Valeur' est maximale ce qui donne:
Matricule Nom Valeur
00001 DUPONT 345
00003 DUPUIS 455
00005 DUCHAMP 220
00008 DURAND 320

Quelqu'un saurait-il faire cela?

UGM (Un Grand Merci)

Num
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
ru-th
Le #4531341
Salut,

juste en passant, un tableau croisé dynamique "nom" enl igne, "valeur" en
donnée mais avec la fonction max (au lieu de somme) cela ne t'intéresse pas
?
a+
rural thierry (plus dynamique exploiteur de données qu'extracteur de base)

news:
Bonjour à tous.

Désolé pour ce nouveau post sur une problématique très (trop)
classique sous Excel...
Voilà: J'ai un long fichier Excel de la forme:

Matricule Nom Valeur
00001 DUPONT 345
00001 DUPONT 322
00003 DUPUIS 455
00003 DUPUIS 455
00003 DUPUIS 435
00003 DUPUIS 422
00005 DUCHAMP 123
00005 DUCHAMP 220
00005 DUCHAMP 125
00005 DUCHAMP 125
00008 DURAND 300
00008 DURAND 320

Duquel je ne veux extraire que les lignes où, pour chaque matricule,
la valeur 'Valeur' est maximale ce qui donne:
Matricule Nom Valeur
00001 DUPONT 345
00003 DUPUIS 455
00005 DUCHAMP 220
00008 DURAND 320

Quelqu'un saurait-il faire cela?

UGM (Un Grand Merci)

Num
ru-th
Le #4531311
sinon rajoute une colonne
avec
Â=MAX(Nom²;Valeur)
valider en matricielle (ctrl+maj+enter)
recopier sur les autres et filtrer sur les vrais
a+
rural thierry
"ru-th" news:uhb$
Salut,

juste en passant, un tableau croisé dynamique "nom" enl igne, "valeur" en
donnée mais avec la fonction max (au lieu de somme) cela ne t'intéresse
pas

?
a+
rural thierry (plus dynamique exploiteur de données qu'extracteur de base)

news:
Bonjour à tous.

Désolé pour ce nouveau post sur une problématique très (trop)
classique sous Excel...
Voilà: J'ai un long fichier Excel de la forme:

Matricule Nom Valeur
00001 DUPONT 345
00001 DUPONT 322
00003 DUPUIS 455
00003 DUPUIS 455
00003 DUPUIS 435
00003 DUPUIS 422
00005 DUCHAMP 123
00005 DUCHAMP 220
00005 DUCHAMP 125
00005 DUCHAMP 125
00008 DURAND 300
00008 DURAND 320

Duquel je ne veux extraire que les lignes où, pour chaque matricule,
la valeur 'Valeur' est maximale ce qui donne:
Matricule Nom Valeur
00001 DUPONT 345
00003 DUPUIS 455
00005 DUCHAMP 220
00008 DURAND 320

Quelqu'un saurait-il faire cela?

UGM (Un Grand Merci)

Num




ru-th
Le #4531291
hum, ou oups !
Â=MAX((Nom²)*Valeur)
est mieux (toujours matricielles)
mais reste à gérer tes max identiques

"ru-th" news:%
sinon rajoute une colonne
avec
Â=MAX(Nom²;Valeur)
valider en matricielle (ctrl+maj+enter)
recopier sur les autres et filtrer sur les vrais
a+
rural thierry
"ru-th" news:uhb$
Salut,

juste en passant, un tableau croisé dynamique "nom" enl igne, "valeur"
en


donnée mais avec la fonction max (au lieu de somme) cela ne t'intéresse
pas

?
a+
rural thierry (plus dynamique exploiteur de données qu'extracteur de
base)



news:
Bonjour à tous.

Désolé pour ce nouveau post sur une problématique très (trop)
classique sous Excel...
Voilà: J'ai un long fichier Excel de la forme:

Matricule Nom Valeur
00001 DUPONT 345
00001 DUPONT 322
00003 DUPUIS 455
00003 DUPUIS 455
00003 DUPUIS 435
00003 DUPUIS 422
00005 DUCHAMP 123
00005 DUCHAMP 220
00005 DUCHAMP 125
00005 DUCHAMP 125
00008 DURAND 300
00008 DURAND 320

Duquel je ne veux extraire que les lignes où, pour chaque matricule,
la valeur 'Valeur' est maximale ce qui donne:
Matricule Nom Valeur
00001 DUPONT 345
00003 DUPUIS 455
00005 DUCHAMP 220
00008 DURAND 320

Quelqu'un saurait-il faire cela?

UGM (Un Grand Merci)

Num








LSteph
Le #4531021
Bonsoir VBA,

mais reste à gérer tes max identiques
Valeur+(ligne()/10000000)


... + ou -

;-)

Amitiés.

lSteph




hum, ou oups !
Â=MAX((Nom²)*Valeur)
est mieux (toujours matricielles)
mais reste à gérer tes max identiques

"ru-th" news:%
sinon rajoute une colonne
avec
Â=MAX(Nom²;Valeur)
valider en matricielle (ctrl+maj+enter)
recopier sur les autres et filtrer sur les vrais
a+
rural thierry
"ru-th" news:uhb$
Salut,

juste en passant, un tableau croisé dynamique "nom" enl igne, "valeur"
en


donnée mais avec la fonction max (au lieu de somme) cela ne t'intéresse
pas

?
a+
rural thierry (plus dynamique exploiteur de données qu'extracteur de
base)


news:
Bonjour à tous.

Désolé pour ce nouveau post sur une problématique très (trop)
classique sous Excel...
Voilà: J'ai un long fichier Excel de la forme:

Matricule Nom Valeur
00001 DUPONT 345
00001 DUPONT 322
00003 DUPUIS 455
00003 DUPUIS 455
00003 DUPUIS 435
00003 DUPUIS 422
00005 DUCHAMP 123
00005 DUCHAMP 220
00005 DUCHAMP 125
00005 DUCHAMP 125
00008 DURAND 300
00008 DURAND 320

Duquel je ne veux extraire que les lignes où, pour chaque matricule,
la valeur 'Valeur' est maximale ce qui donne:
Matricule Nom Valeur
00001 DUPONT 345
00003 DUPUIS 455
00005 DUCHAMP 220
00008 DURAND 320

Quelqu'un saurait-il faire cela?

UGM (Un Grand Merci)

Num











num_gg
Le #4530371
On 21 mai, 18:11, "ru-th"
hum, ou oups !
Â=MAX((Nom²)*Valeur)
est mieux (toujours matricielles)
mais reste à gérer tes max identiques

"ru-th"


sinon rajoute une colonne
avec
Â=MAX(Nom²;Valeur)
valider en matricielle (ctrl+maj+enter)
recopier sur les autres et filtrer sur les vrais
a+
rural thierry
"ru-th" news:uhb$
Salut,

juste en passant, un tableau croisé dynamique "nom" enl igne, "vale ur"
en


donnée mais avec la fonction max (au lieu de somme) cela ne t'int éresse
pas

?
a+
rural thierry (plus dynamique exploiteur de données qu'extracteur de
base)



Salut Thierry,

Je ne peux apparemment pas utiliser les TCD car mon fichier est plus
complexe que mon premier exemple.

Mais ton idée de créér une colonne supplémentaire où on calculera it le
MAX pour un matricule donné est intéressante et jouable pour moi.
Cependant je vois pas bien la formule que tu proposes. Cela donnerait
quoi dans la "vraie vie"? Voici un échantillon plus conforme à la
réalité:

A B C +plein
d'autres colonnes (D,E,F, jusquà W) X
1 MATRICULE CIV NOM
etc...
INDICE
2 300006 M.
DUPUIS ....
285
3 300007 M.
DUPONT ....
345
4 300007 M.
DUPONT ....
350
5 300007 M.
DUPONT ....
360
6 300007 M.
DUPONT ....
320
7 300008 MME
DURAND ....
426
8 300014 MME
DURAND ....
436
9 300014 MME
DURAND ....
336

Donc si je te suis, il faudrait avoir une colonne supplémentaire (Ici
"Y" estampillée "MAXINDICE") où on obtiendrait cela?

... X Y
INDICE MAXINDICE
285 285
345 360
350 360
360 360
320 360
426 436
436 436
336 436

Quelle serait alors la formule pour la colonne Y?

Merci pour votre aide

Num



cousinhub
Le #4529261
Bonsoir,
si j'ai bien compris, et d'après ce que Thierry t'a déjà proposé, le
plus simple serait sans doute le TCD, avec la valeur max au lieu de la
somme...
Regarde le fichier ci-joint, et signale-nous si cela correspond à tes voeux.
Bon courage

http://cjoint.com/?fwwGkBbT1j



On 21 mai, 18:11, "ru-th"
hum, ou oups !
Â=MAX((Nom²)*Valeur)
est mieux (toujours matricielles)
mais reste à gérer tes max identiques

"ru-th"


sinon rajoute une colonne
avec
Â=MAX(Nom²;Valeur)
valider en matricielle (ctrl+maj+enter)
recopier sur les autres et filtrer sur les vrais
a+
rural thierry
"ru-th" news:uhb$
Salut,
juste en passant, un tableau croisé dynamique "nom" enl igne, "valeur"
en


donnée mais avec la fonction max (au lieu de somme) cela ne t'intéresse
pas

?
a+
rural thierry (plus dynamique exploiteur de données qu'extracteur de
base)



Salut Thierry,

Je ne peux apparemment pas utiliser les TCD car mon fichier est plus
complexe que mon premier exemple.

Mais ton idée de créér une colonne supplémentaire où on calculerait le
MAX pour un matricule donné est intéressante et jouable pour moi.
Cependant je vois pas bien la formule que tu proposes. Cela donnerait
quoi dans la "vraie vie"? Voici un échantillon plus conforme à la
réalité:

A B C +plein
d'autres colonnes (D,E,F, jusquà W) X
1 MATRICULE CIV NOM
etc...
INDICE
2 300006 M.
DUPUIS ....
285
3 300007 M.
DUPONT ....
345
4 300007 M.
DUPONT ....
350
5 300007 M.
DUPONT ....
360
6 300007 M.
DUPONT ....
320
7 300008 MME
DURAND ....
426
8 300014 MME
DURAND ....
436
9 300014 MME
DURAND ....
336

Donc si je te suis, il faudrait avoir une colonne supplémentaire (Ici
"Y" estampillée "MAXINDICE") où on obtiendrait cela?

... X Y
INDICE MAXINDICE
285 285
345 360
350 360
360 360
320 360
426 436
436 436
336 436

Quelle serait alors la formule pour la colonne Y?

Merci pour votre aide

Num






num_gg
Le #4528581
On 22 mai, 22:32, cousinhub
Bonsoir,
si j'ai bien compris, et d'après ce que Thierry t'a déjà proposé, le
plus simple serait sans doute le TCD, avec la valeur max au lieu de la
somme...
Regarde le fichier ci-joint, et signale-nous si cela correspond à tes v oeux.
Bon courage

http://cjoint.com/?fwwGkBbT1j




Pour Cousin Hub et Thierry.


OK pour un TCD. Ton exemple, Hub m'a convaincu. En revanche, désolé,
ça va être les "TCD pour les nuls".
Pour être plus formel, j'ai déposé un extrait complet de mon fichier
(les noms et numéros de SS sont factices).

Mais l'idée est bien celle que vous avez compris Thierry et Hub: il
s'agit de purger cette feuille excel en trouvant le max sur la colonne
nommée ODRMTUT1 (avant-avant dernière en "X") et ce pour un matricule
donné: première colonne nommée ODRMATRI (la première en "A").

ici>>>> http://cjoint.com/?fxkF3X2oP3

Cela donnerait quoi votre TCD sur cet exemple?

Un grand merci pour votre aide

num

PS: En attendant, je me documente un peu plus sur les TCD. Promis!


cousinhub
Le #4552381
Bonsoir,
ci-joint, un exemple de ce que cela pourrait donner :
http://cjoint.com/?fyuVLUxvpE


Mais comme dit Thierry, reste à gérer les valeurs max identiques...
Bon courage sur l'apprentissage des TCD, cela permet de faire des
synthèses sous excel, de manière native, sans prendre beaucoup de place,
(pas de formules), et sans risque d'erreur quant aux valeurs saisies
dans la base de données, elles seront répercutées dans le TCD, donc très
facile pour les corrections.
Bonne soirée

On 22 mai, 22:32, cousinhub
Bonsoir,
si j'ai bien compris, et d'après ce que Thierry t'a déjà proposé, le
plus simple serait sans doute le TCD, avec la valeur max au lieu de la
somme...
Regarde le fichier ci-joint, et signale-nous si cela correspond à tes voeux.
Bon courage

http://cjoint.com/?fwwGkBbT1j



Pour Cousin Hub et Thierry.


OK pour un TCD. Ton exemple, Hub m'a convaincu. En revanche, désolé,
ça va être les "TCD pour les nuls".
Pour être plus formel, j'ai déposé un extrait complet de mon fichier
(les noms et numéros de SS sont factices).

Mais l'idée est bien celle que vous avez compris Thierry et Hub: il
s'agit de purger cette feuille excel en trouvant le max sur la colonne
nommée ODRMTUT1 (avant-avant dernière en "X") et ce pour un matricule
donné: première colonne nommée ODRMATRI (la première en "A").

ici>>>> http://cjoint.com/?fxkF3X2oP3

Cela donnerait quoi votre TCD sur cet exemple?

Un grand merci pour votre aide

num

PS: En attendant, je me documente un peu plus sur les TCD. Promis!






num_gg
Le #4570031
C'est encore moi.

Pour clore ce fil, je vous indique la solution que j'ai finalement
adoptée pour résoudre le problème que j'avais:

"Il faut trier les données selon le "MATRICULE" ( en Croissant) et
selon la "VALEUR" (en Décroissant).

Puis sélectionner la colonne MATRICULE et faire:
Données|Filtrer...|Filtre élaboré...| cocher "Filtrer la liste sur
place" et "Extraction sans doublon".

Ainsi, seul le premier matricule (avec la valeur max) est visible.
Il ne reste plus qu'à sélectionner la totalité de la feuille et copier
les lignes visibles vers une nouvelle feuille."

voila.
C'est moins sexy qu'un TCD mais ça a l'avantage d'être rapide et
compréhensible, moyennant une petite procédure écrite, pour un
opérateur non-expert en excel.

Merci à tous (hub et thierry) pour votre aide

Num
Publicité
Poster une réponse
Anonyme