Recherche de doublons sur plusieurs colonnes

[Fermé]
Signaler
-
Messages postés
10415
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 septembre 2021
-
Bonjour,

et d'avance merci pour l'aide que vous pourrez m'apporter.

Je vous explique brièvement mon document puis mes problèmes.

Colonne A : NOM
Colonne B : Prénom
Colonne C : Classe
Colonne D : Téléphone

C'est donc un simple tableau d'inscription. Mais vu que ces inscription peuvent se faire à différent moment de l'année (toussaint, vacances de fin d'année et carnaval), une même personne (deux lignes strictement identique pour les critère des colonne A B C D) pourrait être inscrite. Je voudrais simplement éviter que cela se fasse en repérant les doublons par la mention "doublon" en colonne K.

Problème 1 :

alors je sais repérer un doublon sur un critère (par exemple le "nom"). formule : =SI(NB.SI(L:L;L4)>1;"Doublon";""). Mais je n'arrive pas à étendre ma formule pour tenir compte des 4 critères (colonne A B C D).

J'ai essayé de faire une concaténation des 4 critères dans une cellule et puis de vérifier si cette cellule concaténée existait en double, ça marche mais le problème est que cette formule indique que les cellules vides sont aussi en doublon...

Problème 2 :

La feuille des inscriptions décrite ci-plus haut sert de base à d'autres feuilles (sur d'autres onglets). Plus spécifiquement, grâce à une formule je copie la

"Colonne A : Nom" de la feuille des inscrits sur la "Colonne A : Nom" d'un autre onglet
"Colonne B : Prénom" de la feuille des inscrits sur la Colonne B : Prénom" du même onglet
idem pour la colonne C

Dans ce nouvel onglet, je voudrais que les noms se copient automatiquement par ordre alphabétique du nom (colonne A).

Mon problème étant lignes vides : elles se mettent en début de liste et donc mes lignes remplies se mettent en fin de liste.

Si vous avez des idées, ce serait vraiment la bienvenu

A voir également:

16 réponses

Messages postés
378
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
30 mars 2020
22
Salut

Si j'ai bien compris le problème, ce modèl pourra vous aider

https://www.cjoint.com/?DBmvadl6sV1
Bonjour,

Hélas y a toujours un problème.
En ajoutant deux lignes vides et en tirant les formules de concaténation de la colonne E et la formule pour repérer les doublons de la colonne F sans rien ajouter d'autre, ces deux nouvelles lignes sont considérées comme doublon.
Messages postés
26192
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
22 septembre 2021
6 061
Bon jour en attendant aziz, dont la proposition est correct.

Normal que vous ayez des doublons sur les vides puisque la formule en F les comptes comme identiques!

formule en F pour éliminer ça, en respectant celle de Aziz:

=SI(E2="";"";SI(NB.SI($E$2:$E$10;E2)>1;"ligne en double";""))

qui peut s'écrire aussi, un tout petit plus simplement
=SI(OU(E2="";NB.SI($E$2:$E$10;E2)=1;"";"ligne en double")

Par ailleurs vous pouvez avoir le résultat directement en colonne E sans F avec cette formule (qui traite de ligne 1 à 100 attention aux signes $):

=SI(OU(ET(A2="";B2="";C2="";D2="");SOMMEPROD(($A$1:$A$100=A2)*($B$1:$B$100=B2)*($C$1:$C$100=C2)*($D$1:$D$100=D2))=1);"";"Doublon")

crdlmnt


ps et si vous utilisez celle ci en respectant bien le signes et en la tirant depuis E2 elle vous affichera les doublons uniquement à partir de la ligne où elle trouvera les codes plus d'une fois:

=SI(OU(ET(A2="";B2="";C2="";D2="");SOMMEPROD(($A$1:$A1=A2)*($B$1:$B1=B2)*($C$1:$C1=C2)*($D$1:$D1=D2))=0);"";"Doublon")


voir fichier joint, basé sur le modèle de Aziz (merci)

https://www.cjoint.com/?DBnh7FduR5u

Errare humanum est, perseverare diabolicum
Bonjour et merci à vous 2 pour votre aide.

Hélas, j'avais toujours des problèmes avec les solutions proposées.
J'ai fait quelque chose de pas très académique mais ça fonctionne.

Colonne A : Nom
Colonne B : Prénom
Colonne C : Classe
Colonne D : Téléphone
Colonne K : doublon --> formule =SI(NB.Si(L:L4)>1;"Doublon";"")
Colonne L : si est vide --> formule =SI(EST(A4);M4;A4&B4&C4&D4)
Collonne M : valeur ---> pas de formule mais j'incrémente de M4:M300

Donc grosso modo, je concatène les valeurs des colonnes A à D en colonne L. Si d'aventure, la cellule A est vide, alors la formule ne concatène pas et va chercher une valeur (différente de ligne en ligne) en colonne M. La formule de doublon en col K renvoie "Doublon" si elle trouve deux fois la même valeur en col L.

Voilà tout.

Reste mon problème deux, à savoir faire un tri alphabétique en ne tenant pas compte des cellules vides. Je sens que je ne vais pas me casser la tête et faire un ordre décroissant...
Messages postés
10415
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 septembre 2021
1 207
Bonjour,
Est-il possible de voir le fichier... le mettre sur https://www.cjoint.com/ et poster le lien.

Voici le lien
http://cjoint.com/?3BntwPDu2DO

Comme vous pourrez le constater, je ne suis pas un pro de la mise en page.
Mon problème 1 c'était pour l'onglet 'Tableau des inscrits'.
Messages postés
10415
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 septembre 2021
1 207
Bonjour,
Concerne l'indication doublon, dans la formule en colonne [L :L]
vous avez : =SI(ESTVIDE(A4);M4;A4&B4&C4)
il manque la [D] donc il faut ceci : =SI(ESTVIDE(A4);M4;A4&B4&C4&D4)

Bonjour,

Merci pour ces conseils. Mais après réflexion, il apparaît que mettre le numéro de téléphone en critère pour évaluer si c'est un doublon, c'est pas une super bonne idée : un même enfant peut être inscrit à deux moments différents (Toussaint et carnaval par exemple) par sa mère puis son père. Ceux-ci donnant leur numéro respectif, l'enfant ne sera pas considéré comme doublon, alors qu'il l'est...

Configuration: Windows 7 / Chrome 32.0.1700.107
Messages postés
10415
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 septembre 2021
1 207
Bonjour,
Oui effectivement, c'est mieux de ne pas tenir compte du numéro de téléphone, pour les doublons.
Une question (dans le but d'une solution de tri sur les 4 feuilles congés/vacances) : est-ce qu'il peut y avoir des lignes vides entre les lignes pleines....de la feuille [Tableau des inscrits] .... ?

Messages postés
10415
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 septembre 2021
1 207
Bonjour,
Essayer cette proposition pour le tri : https://www.cjoint.com/?3BqroZeDYpv

Bonjour à tous,

Visiblement, j'ai testé la solution de Le Pingou et les quelques tests que j'ai pu faire sur ma propre version, le problème du classement n'en est pas un:

Au départ, j'avais un problème de tri en essayant d'appliquer l'ordre alphabétique aux onglets des congés spécifiques. Mais les cellules blanches ne sont pas vide, elles commencent toutes par un '=' suivi d'une formule. Et puisque le '=' se place avant le 'a' dans l'ordre alphabétique made in excel, il y a un problème...

Mais excel considère que dans le 'tableau des inscrits', les cellules vides (vraiment vide, pas de formule) doivent se mettre à la suite des cellules remplies en appliquant un filtre puis un ordre alphabétique. A la fin des entrées, il ne faut pas oublier de cliquer sur 'tri alphabétique' pour que cela se mette dans l'ordre sur cet onglet mais aussi sur les autres onglets (auxquels on renvoie les noms). En plus, l'avantage c'est qu'on ne fait un tri que sur un seul onglet et non sur 4. Et il n'y a pas de problème de lignes vides entre des lignes d'entrées puisqu'elles sont vides...

Maintenant, il me reste plus que faire un onglet 'entête' un peu plus sexy mais bon, par rapport au reste, ça me semble bien plus facile comme tâche.

Merci encore à tous pour vos conseils !
Messages postés
10415
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 septembre 2021
1 207
Bonjour,
Avec ce système de trier sur la feuille d'inscription, je vous conseille de bien regarder et tester ce qui se passe lorsque vous avez rempli les colonnes [E :N] sur les les 4 feuilles congés/vacances et que vous ajoutez un nouveau nom sur la feuille des inscriptions et qu'il va se mettre dans l'ordre de tri..... !
Salutations.
Le Pingou
Re bonjour

Visiblement Le Pingou, tu as prévu un cas que je n'avais pas prévu.
Quand on rempli un onglet de vacance spécifique (avec les 1 dans le tableau des jours), et quand suite on ajoute quelqu'un au milieu de l'alphabet, chez toi, les lignes sont coordonnées et pas chez moi.

J'ai vu également que tu as mis une macro. Le problème, c'est que je dois le convertir sur calc et il y a 99,9 chances sur 100 pour que calc aille dans le mur. aurais tu une idée pour faire ça par formule ?
Messages postés
10415
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 septembre 2021
1 207
Bonjour,
J'ai utilisé un macro pour le tri automatique en tenant compte des cellules qui contiennent des formules.
Eh bien, à ma connaissance il n'existe pas de conversion VBA d'Excel / OOo Basic de Calc.
Peut-être une aide par ici.


Salutations.
Le Pingou
Messages postés
10415
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 septembre 2021
1 207
Bonjour,
J'ai regardé votre demande (MP), mais je n'arrive pas à comprendre le but que vous cherchez à atteindre !

Messages postés
13
Date d'inscription
mardi 26 avril 2011
Statut
Membre
Dernière intervention
13 mars 2014
2
Bonjour,

en repartant de mon fichier, je voudrais simplement que dans les onglets des congés (automne par exemple), les données des colonnes de E à N suivent les données des colonnes de A à D.

Je me suis dit que les données de A à D, je les ai liées à une variable (G4 du tableau des inscrits), y a t il moyen des lier les colonnes E à N de la même façon ?
Messages postés
10415
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
22 septembre 2021
1 207
Bonjour,
Si vous utilisez le principe de trier les noms uniquement sur les 4 feuilles [Congé/Vacance] alors les données que vous avez entrées en colonnes [E :N] resteront lier car le tri est réaliser sur la plage [A2 :Nxx].
Par contre si vous trier sur la feuille d'inscription alors vous aurez du mélange.