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
2525
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
24 août 2022
- 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

7 réponses

Vaucluse
Messages postés
26495
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
8 avril 2022
6 272
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
26495
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
8 avril 2022
6 272
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
26495
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
8 avril 2022
6 272
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
2525
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
24 août 2022
1 036
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
26495
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
8 avril 2022
6 272
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
2525
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
24 août 2022
1 036
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
26495
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
8 avril 2022
6 272
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
2525
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
24 août 2022
1 036
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
2525
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
24 août 2022
1 036
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
26495
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
8 avril 2022
6 272
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
2525
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
24 août 2022
1 036
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