Excel-Extraction données sans doublons

Résolu/Fermé
Sam357 Messages postés 134 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 15 mars 2018 - 2 févr. 2011 à 12:14
tontong Messages postés 2548 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 15 mars 2024 - 11 févr. 2011 à 14:23
Bonjour,

Je sollicite votre aide sur le problème que je rencontre en ce moment sur Excel2007.

Je souhaite extraire depuis la feuille "Données" les "Immatriculation camion" colonne D vers la feuille "Recap" colonne A.

Il faut que la liste reportée soit sans doublons malgré le fait qu'une donnée en "Immatriculation camion" puisse revenir à plusieurs reprise le même jour.

Ensuite, il n'est pas nécessaire de reporter les données "Immatriculation camion" dont la livraison à plus de 5 jours.

Enfin, il serait particulièrement pratique d'automatiser la mise à jour de cette liste.

J'espère que cette brève explication est assez claire.

J'ai essayé de passer par un TCD mais la solution n'est pas satisfaisante, j'ai testé le filtre élaboré mais je n'arrive pas à l'utiliser en important la liste vers une autre feuille.

Si l'un de vous à une idée je suis preneur ...

Ci-joint le fichier pour test :
http://www.cijoint.fr/cjlink.php?file=cj201102/cijPIHmrDt.xls

Merci d'avance.
Sam357

colonne les données
A voir également:

7 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
7 févr. 2011 à 17:08
Bonsoir
j'ai déconnecté un peu sur la fin, ce qui fait que je me souviens plus très bien des critères de sélections?
Est ce que ce dernier fichier correspond à ce que vous cherchez, sinon, revenez en précisant toutes les conditions du tri.
http://www.cijoint.fr/cjlink.php?file=cj201102/cijzNjqnXw.xls

La formule de codage affiche 0 si le code que vous aviez placé en résultat de la colonne F calcule une valeur nulle pour le N° placé en ligne dans la colonne Q de la feuille données
c'est à dire qu'elle élimine de l'édition tout ce qui pouvait valoir 0 dans la colonne F de la feuille récap

Crdlmnt
1
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
2 févr. 2011 à 12:57
Bonjour
peut être sur cette base pour débuter
en feuille F_1 les entrées en continue
en feuille F_0 la liste exhaustive des fournisseurs.

pour éliminer les dates de plus de 5 jours, il suffit de rajouter une condition dans la colonne qui incrémente le code en feuille F_0 en colonne G
Selon mon modèle à adapter au votre
Rajouter par rapport à la date:
=SI(B2<AUJOURDHUI()-5;0;SI(NB.SI($A$2:A2;A2)=1;MAX($G$1:G1)+1;0))
revenez si besoin de complément
crdlmnt


http://www.cijoint.fr/cjlink.php?file=cj201102/cijNimuEF0.xls

0
Sam357 Messages postés 134 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 15 mars 2018 18
2 févr. 2011 à 14:52
Bonjour Vaucluse,

Pourrais tu m'éclairer sur le rôle de la fonction dans le nom "Liste" ?

=INDIRECT("F1!O2:O"&NB.SI(F_0!A:A;"<>")-1)


Le format de la date (dans mon fichier est en texte) est il génant car lorsque j'ajoute cette condition la formule ne renvie plus de données sur l'autre feuille. Voici ma formule :
=SI(J2<AUJOURDHUI()-5;0;SI(NB.SI($Q$2:Q2;Q2)=1;MAX($W$2:W2)+1;0))

colonne J = date livraison
colonne Q = n# d'immat.
colonne W = code liste

Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
2 févr. 2011 à 15:04
re

1°) la formule INDIRECT n'a rien à voir avec le sujet, elle était là dans un autre exemple pour créer une liste de référence à un menu déroulant en ajustant la longueur de liste au nombre de nom. C'est un autre sujet que j'ai omis de retirer, on y reviendra s'il vous intéresse.

je ne vois pas ce qui peut ne pas marcher dans la formule que vous présentez, sauf si il n'y a pas dans votre liste de N° dont la date est supérieure à Aujourd'hui -5, c'est à dite au 28/1 auquel cas, li n'y a que des 0 dans la colonne W
si vous voulez inclure le aujourd'hui -5 , passez à aujourd'hui passer à <AUJOURDHUI()-6

si tout cela va bien, dites moi quelle est la formule que vous utilisez pour reconstruire la liste.(mon modèle, colonne A feuille F_1)

a vous lire
crdlmnt
0
Sam357 Messages postés 134 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 15 mars 2018 18
2 févr. 2011 à 15:42
re,

J'ai trouvé l'erreur (voir ci-dessous) donc maintenant j'ai un retour sur la feuille recap.

=SI(J2<AUJOURDHUI()-5;0;SI(NB.SI($Q$2:Q2;Q2)=1;MAX($W$2:W2)+1;0))
alors qu'il fallait entrer
=SI(J2<AUJOURDHUI()-5;0;SI(NB.SI($Q$2:Q2;Q2)=1;MAX($W$1:W1)+1;0))

Malheureusement ça ne fonctionne pas à 100%, je m'explique : ça me remonte dans la liste les Immat. pour les livraisons à partir du 01/02 mais, pas celle datant du 30/01 qui est pourtant dans les 5 jours.

D'autre part, malgré la condition ci-dessous, la fonction située dans la colonne "Code liste" renvoie un chiffre à partir des livraisons du 16/01.
=SI(J2<AUJOURDHUI()-5;0;

Voici la formule que je rentre pour obtenir la liste sur ma feuille "Recap" qui correspond à la feuille F1 de votre exemple.

=SI(LIGNE()-1>MAX(données!W:W);"";INDEX(données!A:W;EQUIV(LIGNE()-1;données!W:W;0);17))

Cordialement,
Sam357
0
tontong Messages postés 2548 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 15 mars 2024 1 054
2 févr. 2011 à 16:20
Bonjour,
Juste en passant pour dire qu'il vaudrait mieux que les dates ne soient pas au format texte.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
2 févr. 2011 à 16:26
Etes vous sur que vos dates sont bien en format date dans la colonne J
faits cette expèrience:
formatez la colonne J en format standard et voyez si toutes les valeurs se transforment bien en nombre à 5 chiffres le format excel pour les dates?
sinon, si vous pouvez mettre à disposition une partie de votre fichier (avec uniquement la colonne des dates si problème de confidentialité) sur:
http///www.cijoint.fr, on regardera ce qui se passe
crdlmnt
0
tontong Messages postés 2548 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 15 mars 2024 1 054
3 févr. 2011 à 15:16
Peut-être une solution à vérifier( basée sur la dernière proposition de Vaucluse).
Remplacer la formule en W2 =SI(J2<AUJOURDHUI()-Nb_jour_passés;0;SI(NB.SI($Q$2:Q2;Q2)=1;MAX($W$1:W1)+1;0))
Par la suivante:
=SI(SOMMEPROD(($J$2:J2>AUJOURDHUI()-Nb_jour_passés)*($Q$2:Q2=Q2)*($Q$2:Q2<>"")*($P$2:P2>0))=1;MAX($W$1:W1)+1;0)
et recopier sur la hauteur.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
4 févr. 2011 à 06:35
Bonjour tous

et merci à tontong, le défaut de ré-alignement de la formule et des N° de ligne dans la feuille récapitulative m'avait échappé!
je pense que sa dernière proposition pour éliminer les valeurs 0 en P devrait marcher

crdlmnt


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sam357 Messages postés 134 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 15 mars 2018 18
7 févr. 2011 à 16:11
Bonjour à tous et désolé pour le retard,

J'ai peut être manqué une étape mais le Récap affiche toujours les 0.
Je mets en ligne le fichier tenant compte des dernières modifications.

http://www.cijoint.fr/cjlink.php?file=cj201102/cij2faVHvv.xls

Merci.

Cordialement,
0
tontong Messages postés 2548 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 15 mars 2024 1 054
7 févr. 2011 à 17:49
Bonjour à tous,
Le fichier joint au #23 semble correct sauf pour la colonne P qui contient encore des zéros en texte.
Un de mes commentaires précédents doit être appliqué:
Il serait prudent de nettoyer la colonne NB de Tc qui contient des nombres et des textes( les 0). Pour cela appliquez la même procédure que pour les dates:
dans une cellule vierge, taper 1 et copier le
sélectionnez le champ de NB de Tc
clic droit / collage spécial / cochez "multiplication"
0
Sam357 Messages postés 134 Date d'inscription dimanche 11 février 2007 Statut Membre Dernière intervention 15 mars 2018 18
7 févr. 2011 à 18:13
Re,

Tontong et Vaucluse merci à vous ça fonctionne !

Tontong, vous aviez raison j'avais oublié de modifier le format en nombre.
Vaucluse votre exemple ne fait effectivement pas apparaître de 0 dans la feuille Récap.

Merci à vous pour le temps que vous m'avez consacré.

Cordialement,
Sam357
0
tontong Messages postés 2548 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 15 mars 2024 1 054
10 févr. 2011 à 17:49
Bonjour,
En essayant d'utiliser la solution décrite pour un autre fichier j'ai découvert un bug.
La diversité, pourtant importante, des combinaisons dans le fichier de Sam357 ne nous a pas mis à l'abri.
Un petit fichier tente de résumer tout ça.
https://www.cjoint.com/?0ckrVwLGmER
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
11 févr. 2011 à 09:18
Bonjour tontong...
nous avons abandonné ton option où sommeprod cherchant le 0 est inclus dans la formule de codage...elle ne correspond pas en effet aux besoins puisqu'il s'agit de détecter que les codes trouvés n'ont pas dans toute la liste une somme égal à 0.
voir la dernière proposition. ici
http://www.cijoint.fr/cjlink.php?file=cj201102/cijzNjqnXw.xls
en fait le codage reprend l'item de calcul de la feuille récap, mis en facteur 0 pour annuler l'incrémentation du code si ce résultat est égal à 0 et 1 pour le conserver dans le cas contraire
crdlmnt
0
tontong Messages postés 2548 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 15 mars 2024 1 054
11 févr. 2011 à 14:23
Bonjour Vaucluse,
et surtout merci d'avoir "replonger".
J'avais en effet zapper la partie SommeProd qui annule l'incrément...
Bonne journée.
0