Excel et les doublons
Fermé
cmpop
-
23 avril 2012 à 17:59
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 26 avril 2012 à 18:52
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 26 avril 2012 à 18:52
A voir également:
- Excel et les doublons
- Supprimer les doublons excel - Guide
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Formule excel - Guide
10 réponses
Lentzouille
Messages postés
670
Date d'inscription
mardi 27 septembre 2011
Statut
Membre
Dernière intervention
11 septembre 2020
63
23 avril 2012 à 18:02
23 avril 2012 à 18:02
Bonjour,
Tu es sous quel version d'office ? 2003/2007/2010 ?
Tu es sous quel version d'office ? 2003/2007/2010 ?
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
28 décembre 2023
7 212
23 avril 2012 à 23:41
23 avril 2012 à 23:41
Bonsoir,
Tu pourrais pointer les lignes déjà éditées à l'aide d'une macro vba, et ajouter un filtre sur les lignes (vides).
Cette macro marques les lignes non masquées à l'aide d'un bouton :
exemple
eric
Tu pourrais pointer les lignes déjà éditées à l'aide d'une macro vba, et ajouter un filtre sur les lignes (vides).
Cette macro marques les lignes non masquées à l'aide d'un bouton :
Private Sub BtnPointer_Click() Dim lig As Long For lig = [B65536].End(xlUp).Row To 2 Step -1 If Not (Rows(lig).Hidden) Then Cells(lig, 1) = "x" End If Next lig End Sub
exemple
eric
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
28 décembre 2023
7 212
24 avril 2012 à 18:27
24 avril 2012 à 18:27
Au début vide la colonne Pointage.
Sélectionne un groupe, et après l'avoir traité tu marques les lignes affichées à l'aide du bouton.
Sélectionne un autre groupe et dans Pointage filtrre sur (vide) pour masquer les lignes déjà traitées et ainsi de suite.
eric
Sélectionne un groupe, et après l'avoir traité tu marques les lignes affichées à l'aide du bouton.
Sélectionne un autre groupe et dans Pointage filtrre sur (vide) pour masquer les lignes déjà traitées et ainsi de suite.
eric
Bonjour,
Je ne saisi toujours pas bien le fonctionnement.
En prenant votre fichier exemple, je sélectionne par exemple le groupe 1. je fais mon publipostage et je pointe à l'aide du bouton.
Je sélectionne ensuite le groupe 2 en plus du 1.
Puis je filtre sur vide dans la colonne du pointage. Je me retrouve quand même avec les noms 1, 7 et 9 que j'ai déjà traité puisqu'ils faisaient aussi parti du groupe 1...
donc si je refais un publipostage je les aurai 2 fois.
Je ne saisi toujours pas bien le fonctionnement.
En prenant votre fichier exemple, je sélectionne par exemple le groupe 1. je fais mon publipostage et je pointe à l'aide du bouton.
Je sélectionne ensuite le groupe 2 en plus du 1.
Puis je filtre sur vide dans la colonne du pointage. Je me retrouve quand même avec les noms 1, 7 et 9 que j'ai déjà traité puisqu'ils faisaient aussi parti du groupe 1...
donc si je refais un publipostage je les aurai 2 fois.
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
28 décembre 2023
7 212
25 avril 2012 à 16:54
25 avril 2012 à 16:54
Tu as raison, ma logique n'était pas bonne.
Je te prépare autre chose pour ce soir.
eric
Je te prépare autre chose pour ce soir.
eric
Lentzouille
Messages postés
670
Date d'inscription
mardi 27 septembre 2011
Statut
Membre
Dernière intervention
11 septembre 2020
63
24 avril 2012 à 08:29
24 avril 2012 à 08:29
Bonjour,
Sous Office 2010, dans le ruban, onglet données tu as un bouton qui s'appelle "Supprimer les doublons"
Cdt
Sous Office 2010, dans le ruban, onglet données tu as un bouton qui s'appelle "Supprimer les doublons"
Cdt
Lentzouille
Messages postés
670
Date d'inscription
mardi 27 septembre 2011
Statut
Membre
Dernière intervention
11 septembre 2020
63
24 avril 2012 à 14:30
24 avril 2012 à 14:30
Faut qu'il apparaisse où alors ?
peut être que j'ai mal expliqué. Voilà un exemple :
Pour chaque personne il y a une ligne et plusieurs colonnes remplies : adresse, tel, etc.
Il y a une colonne "groupe" et non pas une colonne par groupe car il y a beaucoup de groupes et donc sinon ça ferait trop de colonnes et le tableau deviendrait difficile d'utilisation.
Prenons l'exemple suivant :
M.A fait parti des groupes 1 et 3 et apparaît donc sur 2 lignes
M. B fait parti du groupe 2
M. C fait parti des groupes 1 et 2 et apparaît donc sur 2 lignes
Je voudrais faire en sorte que si je filtre :
- si je filtre groupe 1, les lignes correspondant à M. A et M. C doivent s'afficher
- si je filtre groupe 2, les lignes correspondant à M. B et M. C doivent s'afficher
- si je filtre groupes 1 et 2, les 3 lignes correspondant à M.A, M.B et M.C doivent s'afficher mais M. C ne doit s'afficher qu'une seule fois, bien qu'il fasse partie du groupe 1 et du groupe 2.
J'espère que c'est plus clair.
Pour chaque personne il y a une ligne et plusieurs colonnes remplies : adresse, tel, etc.
Il y a une colonne "groupe" et non pas une colonne par groupe car il y a beaucoup de groupes et donc sinon ça ferait trop de colonnes et le tableau deviendrait difficile d'utilisation.
Prenons l'exemple suivant :
M.A fait parti des groupes 1 et 3 et apparaît donc sur 2 lignes
M. B fait parti du groupe 2
M. C fait parti des groupes 1 et 2 et apparaît donc sur 2 lignes
Je voudrais faire en sorte que si je filtre :
- si je filtre groupe 1, les lignes correspondant à M. A et M. C doivent s'afficher
- si je filtre groupe 2, les lignes correspondant à M. B et M. C doivent s'afficher
- si je filtre groupes 1 et 2, les 3 lignes correspondant à M.A, M.B et M.C doivent s'afficher mais M. C ne doit s'afficher qu'une seule fois, bien qu'il fasse partie du groupe 1 et du groupe 2.
J'espère que c'est plus clair.
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
28 décembre 2023
7 212
25 avril 2012 à 18:10
25 avril 2012 à 18:10
Re,
nouvelle version à tester :
https://www.cjoint.com/?BDzsjyYpe81
eric
nouvelle version à tester :
https://www.cjoint.com/?BDzsjyYpe81
eric
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
28 décembre 2023
7 212
Modifié par eriiic le 25/04/2012 à 18:29
Modifié par eriiic le 25/04/2012 à 18:29
Par contre il faudra traiter les groupes 1 par 1, sinon il faut rajouter un 3ème bouton car il n'y a pas d'évènement pour détecter l'activation d'un filtre.
Pour copier la macro :
clic-droit sur l'onglet de la feuille concernée, choisir "visualiser le code..."
coller l'ensemble du code :
Adapter éventuellement les n° de colonne.
Si pb déposer un extrait du fichier aznonymisé sur cjoint.com et coller ici le lien fourni.
eric
Pour copier la macro :
clic-droit sur l'onglet de la feuille concernée, choisir "visualiser le code..."
coller l'ensemble du code :
Private Sub BtnPointer_Click() Dim lig As Long, lig2 As Long For lig = 2 To [C65536].End(xlUp).Row If Not (Rows(lig).Hidden) Then lig2 = 2 While Cells(lig2, 3) <> "" If Cells(lig, 3) = Cells(lig2, 3) Then Cells(lig2, 1) = "x" lig2 = lig2 + 1 Wend End If Next lig End Sub Private Sub BtnRAZ_Click() [A1].AutoFilter Field:=1 [A1].AutoFilter Field:=2 [A:A].ClearContents [A1] = "Pointage" [A1].AutoFilter Field:=1, Criteria1:="=" End Sub
Adapter éventuellement les n° de colonne.
Si pb déposer un extrait du fichier aznonymisé sur cjoint.com et coller ici le lien fourni.
eric
Bon je galère un peu
ci joint un fichier : http://cjoint.com/?3DAqMIVjodZ
sachant que j'ai les impératifs suivants :
- il faut que le fichier marche quelque soit le nom des groupes bien sur et surtout quelque soit leur nombre
- il y a en vrai plus de 800 noms dans la liste
- il faut que les lignes soient pointées uniquement si le nom et le prénom sont les même... il y a plusieurs personnes qui ont le même nom de famille mais pas le même prénom.
merci beaucoup !! un jour j'apprendrai à faire les macro ;)
ci joint un fichier : http://cjoint.com/?3DAqMIVjodZ
sachant que j'ai les impératifs suivants :
- il faut que le fichier marche quelque soit le nom des groupes bien sur et surtout quelque soit leur nombre
- il y a en vrai plus de 800 noms dans la liste
- il faut que les lignes soient pointées uniquement si le nom et le prénom sont les même... il y a plusieurs personnes qui ont le même nom de famille mais pas le même prénom.
merci beaucoup !! un jour j'apprendrai à faire les macro ;)
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
28 décembre 2023
7 212
26 avril 2012 à 18:19
26 avril 2012 à 18:19
Je vois ça ce soir.
Par contre je pense qu'on ne peut pas se contenter du nom.
Est-ce que nom&prénom est suffisant pour éliminer les homonymies ou faut-il ajouter un champ par sécurité ? Si oui lequel serait le plus discriminant ?
eric
Par contre je pense qu'on ne peut pas se contenter du nom.
Est-ce que nom&prénom est suffisant pour éliminer les homonymies ou faut-il ajouter un champ par sécurité ? Si oui lequel serait le plus discriminant ?
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
PHILOU10120
Messages postés
6367
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
2 avril 2024
795
25 avril 2012 à 21:02
25 avril 2012 à 21:02
Pour traiter le groupe 1 ou 2 et 3 il suffit de filtrer sur 1, 2 ou 3 et là il n'y a pas de problème
pour moi la question était quand on groupe le 3 groupes ce que j'ai traité par contre si on groupe que 2 groupes il faudra filtrer autrement mais ce n'était pas dans la question
pour moi la question était quand on groupe le 3 groupes ce que j'ai traité par contre si on groupe que 2 groupes il faudra filtrer autrement mais ce n'était pas dans la question
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
28 décembre 2023
7 212
25 avril 2012 à 21:46
25 avril 2012 à 21:46
Heuuu, garder les 3 groupes c'est ne pas filtrer en fait.
Le demandeur dira si ça convient.
eric
Le demandeur dira si ça convient.
eric
PHILOU10120
Messages postés
6367
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
2 avril 2024
795
26 avril 2012 à 18:31
26 avril 2012 à 18:31
Pour le nom et prénom on peut créer une colonne avec le nom et le prénom
=A2&" "&B2
colonne A le nom
espace
colonne B le nom
et faire la recherche sur ce critére
par contre combien de groupe ?
=A2&" "&B2
colonne A le nom
espace
colonne B le nom
et faire la recherche sur ce critére
par contre combien de groupe ?
PHILOU10120
Messages postés
6367
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
2 avril 2024
795
25 avril 2012 à 15:12
25 avril 2012 à 15:12
Bonjour sur la feuille ou les trois listes ont été regroupées mettre cette formule dans une colonne à coté
=SI(NB.SI(A2:$A$1000;A2)>1;1;"")
en considérant que A est la colonne avec les noms autrement changer la lettre dans la formule
et la ligne 2 est la ligne du premier nom
et 1000 est la ligne du dernier nom
vous adaptez ces données à vos besions
la formule compte le nombre de fois qu'elle trouve le nom dans la colonne et vous met un 1 pour vous le dire
pour supprimer les doublons filtrer sur les 1 et supprimer les lignes
et voila il n'y a plus de doublon
=SI(NB.SI(A2:$A$1000;A2)>1;1;"")
en considérant que A est la colonne avec les noms autrement changer la lettre dans la formule
et la ligne 2 est la ligne du premier nom
et 1000 est la ligne du dernier nom
vous adaptez ces données à vos besions
la formule compte le nombre de fois qu'elle trouve le nom dans la colonne et vous met un 1 pour vous le dire
pour supprimer les doublons filtrer sur les 1 et supprimer les lignes
et voila il n'y a plus de doublon
PHILOU10120
Messages postés
6367
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
2 avril 2024
795
25 avril 2012 à 15:18
25 avril 2012 à 15:18
re:
soit vous faite une nouvelle liste groupant les trois listes sans doublon avec ma réponse précédante
soit vous ne supprimer pas les lignes mais vous les masquez cela vous permettra de les garder pour les autres cas
soit vous faite une nouvelle liste groupant les trois listes sans doublon avec ma réponse précédante
soit vous ne supprimer pas les lignes mais vous les masquez cela vous permettra de les garder pour les autres cas
PHILOU10120
Messages postés
6367
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
2 avril 2024
795
25 avril 2012 à 19:57
25 avril 2012 à 19:57
Le fichier exemple pour la liste des 3 répertoires
https://www.cjoint.com/?3Dzt1vXsOgp
Il suffit de mettre ma formule données plus haut et de mettre un filtre automatique et de sélectionner le filtre sur les cellules vides et il vous reste affichée que les nom sans doublon
Après enlever le filtre et tout est Ok
je vous ai mis 2 boutons pour piloter les macros
https://www.cjoint.com/?3Dzt1vXsOgp
Il suffit de mettre ma formule données plus haut et de mettre un filtre automatique et de sélectionner le filtre sur les cellules vides et il vous reste affichée que les nom sans doublon
Après enlever le filtre et tout est Ok
je vous ai mis 2 boutons pour piloter les macros
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
28 décembre 2023
7 212
25 avril 2012 à 20:23
25 avril 2012 à 20:23
Bonjour,
ça colle pas ton truc.
Si on veut traiter le groupe 1, tu masques les lignes si doublon dans un autre groupe...
eric
ça colle pas ton truc.
Si on veut traiter le groupe 1, tu masques les lignes si doublon dans un autre groupe...
eric
PHILOU10120
Messages postés
6367
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
2 avril 2024
795
26 avril 2012 à 10:31
26 avril 2012 à 10:31
Voici une solution simple
https://www.cjoint.com/?3DAkFbhp2lE
https://www.cjoint.com/?3DAkFbhp2lE
23 avril 2012 à 18:03