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

et encore doublons

  • Initiateur de la discussion marie
  • Date de début
M

marie

Guest
Bonjour à tous j'ai besoin d'un peu d'aide

Voilà j'ai aussi un pb de doublons
J'ai réussi à faire supprimer les doublons mais c'est tout à fait que je veux

Voilà j'ai une liste en colonne A de shipper et le volume en colonne B
les shippers sont tous en double et je voudrais garder que les shippers ayant un volume le plus grand

Dans le fichier joint j'ai commencé à souligner en jaune les lignes que je voudrais garder
car ex. pour le shipper T1043141 je veux la ligne 20 (volume 0.04203)

si qqn peut m'aider

Merci
[file name=Classeur2_20050629111413.zip size=32547]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur2_20050629111413.zip[/file]
 

Pièces jointes

  • Classeur2_20050629111413.zip
    31.8 KB · Affichages: 15
M

marie

Guest
Bonjour André

c'est pas compliqué je prend toutes les solutions, même si petite préférebces pour vba, mais qi ta formule me simplifie la vie, je suis pour !!!!
 

andré

XLDnaute Barbatruc
Rere,

Il y a comme qui dirait un problème.

Je pose la question sur XLD (lol).

Je regarde, peu-être > 50 Ko avec les formules.
Si c'est la cas, je raccourcis.
Un peu de patience.

Ândré.
 

Hervé

XLDnaute Barbatruc
Bonjour marie, andré, le forum

En attendant la soluce d'andré par formule.

une proposition VBA

Traitement en 10 secondes, les doublons n'ont pas besoin d'etre classés;

On doit pouvoir améliorer le temp de traitement.


salut

edition : le renvoi se fait sur la feuille 2

Message édité par: Hervé, à: 29/06/2005 11:49
 
M

marie

Guest
J'essaye ça cette après midi et je te dis si ça colle

En tout cas merci

Ps : pour le tps d'exécution vu le nombre de macro que j'ai 10s c'est rien.....
 

andré

XLDnaute Barbatruc
Rere ..., à toi aussi Hervé,

C'était cela : 216 Ko !

Petite précision : je me suis basé sur le fait que la liste était triée et que par conséquent la plus grande valeur est toujours la dernière de chaque code.

Ândré. [file name=marie_V1.zip size=6550]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/marie_V1.zip[/file]
 

Hervé

XLDnaute Barbatruc
Re tout le monde

André, ca valait le coup d'attendre

Si tu pouvais prendre 5 minutes pour m'expliquer la formule de la colonne D, je t'en serai reconnaissant.

J'ai rien capté

salut
 

Monique

Nous a quitté
Repose en paix
Bonjour,

Au suivant…
Avec des formules matricielles,
à valider par ctrl, maj et entrée
sans colonne supp.
Les données n'ont pas besoin d'être triées.
[file name=SansDoublonsMarie.zip size=6618]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/SansDoublonsMarie.zip[/file]
 

Pièces jointes

  • SansDoublonsMarie.zip
    6.5 KB · Affichages: 25

2passage

XLDnaute Impliqué
Bonjour,


pfffF.... Monique.... ça fait quelques jours que j'essaye désespérément de comprendre ta façon de régler ce type de problèmes... et... ouiiiin... j'arrive paaaas.... Déjà d'habitude, je capte très modérément mais alors là, c'est un sommet : A quoi sert un x1 ?... je vois '*1' dans la formule, je me dis 'tiens curieux.. il me semblait que *1 ca ne faisait rien.. d'un autre coté.. si Monique le met....'... hop hop, on teste.. et.. ben non ça marche pas sans... Alors... par quelle magie un *1 fait-il quelquechose de nécessaire....

grmblll... j'envisage de multiplier par 12 ma période d'hibernation de 1 mois et de me terrer dasn une grotte, loin d'XL....
 

andré

XLDnaute Barbatruc
Salut Hervé et les autres,

En D2 : =SI(LIGNE()>MAX($A:$A);'';RECHERCHEV(LIGNE();$A:$C;COLONNE()-2;0))

J'emploie les fonctions LIGNE() et COLONNE() au lieu des constantes 2 et 4, afin qu'elles s'incrémentent à la copie, tant vers la bas que vers la droite.
J'aurai même pu écrire $A:B au lieu de $A:$C, cette référence se serait également incrémentée en $A:C en la copiant vers la droite.

LIGNE()>MAX($A:$A) est une condition qui vérifie la présence de la valeur cherchée (sous la fonction RECHERCHEV) dans la colonne A et évite d'envoyer un message d'erreur si elle n'est pas trouvée.
Elle peut aussi être écrite : NB($D11)+2

Le '2' provient du fait que la numérotation en colonne A commence par '2'.
Si en A2 j'avais écris =SI(B2=B3;'';NB(A$1:A1)+1) au lieu de =SI(B2=B3;'';NB(A$1:A1)+2), j'aurai du écrire en D2 :
=SI(LIGNE()-1>MAX($A:$A);'';RECHERCHEV(LIGNE()-1;$A:$C;COLONNE()-2;0)).
C'est un libre choix de ma part.

RECHERCHEV(LIGNE();$A:$C;COLONNE()-2;0))
recherche dans la première colonne de la plage A:C (=A) la valeur du no de la ligne (=2) en demandant de renvoyer la valeur se trouvant sur la même ligne dans la colonne D-2 = 4-2=2.

Je suppose que ce qui t'a quelque peu pertrubé c'est d'avoir remplacé les constantes par les fonctions LIGNE et COLONNE.
Le seul but est l'incrémentation.

J'espère avoir été clair dans mes explications, faute de quoi ... tu sais où j'habite, et je suis toujours à la masion (lol).

Ândré.
 

Hervé

XLDnaute Barbatruc
re pour certains
bonjour monique, 2passage

waouh andré, j'ai compris :lol:

Merci

ligne et colonne : pas bête du tout.

Tu devrais te mettre au VBA, andré, avec des raisonnements pareils tu ferais un malheur.

BOn, ben moi, je vais reposé mon neurone inch:

Salut
 

andré

XLDnaute Barbatruc
Resalut Hervé,

Un peu de patience, je vais bientôt m'y mettre.
Mais ma grand-mère m'a toujours dit qu'il fallait d'abord apprendre à bien marcher avant de vouloir courrir.

Maintenant que je maîtrise quelque peu les formules, que je fais de sérieux progrets avec la fonction SOMMEPROD, il me faut encore approndir les matricelles, les TCD et les graphiques.

Et ensuite, tiens toi prêt (mais je t'avertirai avant) je m'attaque au VBA.

Sans vouloir te faire la leçon, j'ai appris, de part ma profession, que tant qu'on ne maîtrise pas les exceptions, on est nulle part.
Et puis, je déteste l'amateurisme, dans le sens 'd'apprentis sorciers'.

Ândré.
 

Hervé

XLDnaute Barbatruc
re salut andré

Personnellement j'adore faire l'apprenti sorcier, il n'y a qu'a voir mon avatar .

C'est la voix de la sagesse qui se fait entendre à travers tes remarques.



Salut
 

Discussions similaires

Réponses
10
Affichages
471
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…