Page 1 sur 1

[Résolu] Chercher les doublons et les disposer à la suite

Publié : 16 févr. 2017 19:12
par CrucheEnInfo
Bonjour,

Je me permets de faire appel à vous, n'étant pour tout dire pas très douée en informatique. Je travaille dans une boîte où je fais de la gestion et, dans les nombreux index, il arrive que reviennent des doublons. Le problème est qu'il y a énormément de lignes dans la colonne, et que repérer d'éventuels doublons est très fastidieux. Pourriez-vous m'aider ?

Je cherche ainsi à trouver, dans une liste développée en une colonne, les chaînes de caractères qui se répètent :
* dans un fichier CLAC
* J'ai trouvé une fonction, dans le forum OpenOffice, en faisant un 'Formatage conditionnel', grâce au fil :
https://forum.openoffice.org/fr/forum/v ... er+doublon

Cette petite fonction, qui marche très bien (par contre, distingue-t-elle les minuscules des majuscules ?), me permet de repérer, par un jeu de couleur d'arrière-fond, toutes les cases dont le contenu de chaînes de caractères se répètent. Génial !!

Par contre, j'aimerais savoir s'il est dès lors possible de ne conserver que les lignes qui sont colorées, puis les ranger à la suite (en colonne toujours) par ordre alphabétique ? :D

J'espère être assez clair. N'hésitez pas, bien entendu, à m'interroger davantage.

Mumu

Re: Chercher les doublons et les disposer à la suite

Publié : 17 févr. 2017 10:35
par phip
Bonjour.
CrucheEnInfo a écrit :Cette petite fonction, qui marche très bien....
puis les ranger à la suite (en colonne toujours) par ordre alphabétique ?
Et le tri ne serait il pas suffisant.
Capture170217.JPG
Menu.
Données >>> Trier

Cdlt

Re: Chercher les doublons et les disposer à la suite

Publié : 17 févr. 2017 13:03
par zeguedon
Bonjour,

Une autre solution par formule en exemple dans le fichier joint :
Prérequis
1) Sélectionner la colonne à dédoublonner, puis la nommer par le menu Insertion>Nom>Définir. Pour l'exemple je l'ai nommée "Col_A"
2) Nommer le tableau contenant les données à extraire. Pour l'exemple je l'ai nommé "Tableau"
3) Coller la formule suivante dans une nouvelle colonne, là où doit apparaître la liste des doublons à traiter :

Code : Tout sélectionner

=SI(ESTERREUR(PETITE.VALEUR(SI(NB.SI(Col_A;INDIRECT("A"&LIGNE()))>1;LIGNE(Col_A);"");LIGNE(Col_A)));"";INDEX(Tableau;PETITE.VALEUR(SI(NB.SI(Col_A;INDIRECT("A"&LIGNE()))>1;LIGNE(Col_A);"");LIGNE(Col_A));COLONNE(A1)))
Attention lorsque que cette formule est collée, il ne faut pas appuyer sur la touche Entrer de suite. Il faut d'abord maintenir les touches Ctrl et Maj enfoncée et tout en les maintenant enfoncées, appuyer sur la touche entrée.
Une nouvelle colonne des doublons sera alors crée. Pour l'étendre vers la droite, afin de récupérer toutes les valeurs de chacune des lignes concernées, maintenir la touche Ctrl enfoncée.

Re: Chercher les doublons et les disposer à la suite

Publié : 18 févr. 2017 09:52
par CrucheEnInfo
Bonjour à vous deux,

Ne croyez surtout pas que j'omets vos réponses, je suis en train de les tester... mais j'éprouve une petite difficulté, mon ordinateur étant un Mac, et mon clavier un Microsoft... ce qui fait que j'essaie les combinaisons pour faire le fameux Ctrl + Maj enfoncés...
Je reviens vers vous dès que j'ai la solution. :D
Merci 1000 fois en tout cas !
Mumu

Re: Chercher les doublons et les disposer à la suite

Publié : 18 févr. 2017 10:02
par tintin

Re: Chercher les doublons et les disposer à la suite

Publié : 18 févr. 2017 11:00
par CrucheEnInfo
Merci Tintin,
ce qui m'inquiète, c'est que j'ai bien appliqué ces commandes !

J'ai tenté de reproduire fidèlement la procédure proposée par zeguedon, car elle me semble correspondre absolument à ce que je formulais maladroitement, et ce de 2 manières (je précise que ce que j'ai à traiter est la Colonne B de la pièce jointe "Liste simple PI.ods", c'est elle que j'appelle "Col_A") :

1) J'ai tenté d'"exploiter" directement la pièce jointe par zeguedon, à savoir : Matricielle_AfficheListe des doublons.ods (pièce jointe à son message du 17/02 à 13:03).

J'ai 'copié' dans un premier temps un 'tableau' , par exemple de 8 lignes x 3 colonnes, que j'ai 'collé' dans le Tableau (14x3 lignes et colonnes à traiter)...
Tant que la 'matrice' que je collais était de dimension inférieure ou égale à la dimension du tableau prévu par zeguedon, ça fonctionne.
Le problème, c'est quand je copie 49 lignes x 3 colonnes de 'Liste simple PI.ods', alors : il ne recherche les doublons que pour les 14 premières lignes. De plus, alors que dans l'exemple de zeguedon, les résultats sont "rangés" par ordre alphabétique, la seconde 'couche' ne l'est pas, et je ne peux pas faire un 'tri' classique (Données Trier...).

2) J'ai tenté de procéder à ce qui est préconisé par zeguedon, dans la pièce jointe 'Liste simple PI.ods' :
J'ai nommé "Col_A" la colonne B.
J'ai nommé 'Tableau' l'ensemble des cellules de A1 à E49.
J'ai ensuite 'copié' la commande =SI(ESTERREUR(PETITE.VALEUR...
J'ai sélectionné la colonne H puis j'ai 'collé' la commande.
Après, j'ai fait Ctrl + Maj puis Entrée... et ça n'a rien donné (même sur un PC, que j'ai dépoussiéré pour l'occasion)...

Re: Chercher les doublons et les disposer à la suite

Publié : 18 févr. 2017 13:15
par zeguedon
Bonjour,

C'est un peu normal que la formule n'ai pas fonctionné car les doublons sont situés colonne B. Or la fonction NB.SI() qu'elle contient était écrite pour compter le nombre de fois qu'une valeur de la colonne A est présente dans la colonne nommée Col_A :

Code : Tout sélectionner

NB.SI(Col_A;INDIRECT("A"&LIGNE())) 
qui pour le coup doit s'écrire :

Code : Tout sélectionner

NB.SI(Col_A;INDIRECT("B"&LIGNE()))
Le fichier modifié :

A+

Re: Chercher les doublons et les disposer à la suite

Publié : 18 févr. 2017 14:28
par CrucheEnInfo
Cher zeguedon,
Je suis vraiment navrée. Je crains de vraiment vous fatiguer :oops: ... mais je ne réussis pas à provoquer le réulstat escompté :fou: .

Lorsque je 'colle' la commande (modifiée en tenant compte de l'argument 'B'), la seule chose que j'obtient est :

♯NAME?
dans la première cellule de la colonne... mais pas de résultat comme le vôtre !

J'ai pourtant l'impression de suivre à la lettre vos consignes...à savoir, clic-droit sur la colonne H par exemple, puis Coller la commande

Code : Tout sélectionner

=SI(ESTERREUR(PETITE.VALEUR(SI(NB.SI(Col_A;INDIRECT("B"&LIGNE()))>1;LIGNE(Col_A);"");LIGNE(Col_A)));"";INDEX(Tableau;PETITE.VALEUR(SI(NB.SI(Col_A;INDIRECT("B"&LIGNE()))>1;LIGNE(Col_A);"");LIGNE(Col_A));COLONNE(A1)))
Ensuite j'ai tenté Ctrl + Maj + Entrée, j'arrive tout en bas, à la ligne 1 000 000 et des brouettes, ça ne doit pas être cela !
J'ai tenté Signe Windows + Maj + Entrée, et j'obtiens ♯NAME?

Je vous assure que je tiens à vote santé mentale mais j'espère sincèrement que vous pardonnerez mon ignorance, en continuant à m'aider !
Mumu

Re: Chercher les doublons et les disposer à la suite

Publié : 18 févr. 2017 14:41
par Jeff
Bonjour,
CrucheEnInfo a écrit :la seule chose que j'obtient est : ♯NAME?
Donc, un nom de plage n’est sûrement pas reconnu.

Tu as bien défini les noms Col_A et Tableau via le menu Insertion > Noms ?

A +

Re: Chercher les doublons et les disposer à la suite

Publié : 18 févr. 2017 14:51
par CrucheEnInfo
Oui, tout à fait Jeff

Re: Chercher les doublons et les disposer à la suite

Publié : 18 févr. 2017 14:58
par Jeff
Jeff a écrit :via le menu Insertion > Noms ?
J’insiste, car ce n’est pas la même chose que le menu Données > Définir la plage

Vérifie également à quelle plage sont affectés les noms.

Pour savoir quelle partie de la formule renvoie l’erreur, consulte ceci :
https://forum.openoffice.org/fr/forum/v ... 46#p269246

A +

Re: Chercher les doublons et les disposer à la suite

Publié : 18 févr. 2017 15:20
par CrucheEnInfo
Merci Jeff de votre sollicitude.

Je suis absolument formelle pourtant.
J'ai même ouvert et enregistré un nouveau fichier, mis en PJ plus bas, où j'ai :
* sélectionné la colonne B, en cliquant (gauche) sur le B en haut de la colonne, puis Insertion > Noms > Définir puis Col_A et OK
* sélectionné toutes les cellules non vides, puis Insertion > Noms > Définir puis Tableau et OK
* cliqué (GAUCHE) sur le H, en haut de la colonne H, qui a eu la bonne idée de griser toute la colonne H,
* je fais un clic droit à l'intérieur de la colonne et 'Copie' de la ligne de code, ce qui a pour effet de l'écrire dans la barre à droite du signe ∑ =
* je fais Windows + ⇧ + Entrée
* je relâche Entrée, puis ⇧, puis Windows...
En fait là, ça ne me donne carrément plus rien.

Je peux juste constater que lorsque je me place à la cellule H1, je peux lire le code dans la barre à droite de ∑.

Très grand merci d'avance,
:|

Re: Chercher les doublons et les disposer à la suite

Publié : 18 févr. 2017 15:21
par CrucheEnInfo
Ah, avec tout cela, j'ai oublié mon nouveau fichier tout propre...

Re: Chercher les doublons et les disposer à la suite

Publié : 18 févr. 2017 15:29
par Jeff
Évite de poster plusieurs messages à la suite, tu as un bouton "Éditer" en haut à droite de chaque message si tu dois ajouter un complément :wink:
CrucheEnInfo a écrit :qui a eu la bonne idée de griser toute la colonne H
Copier sur plus d’un million de ligne ne me semble pas du tout judicieux :shock:
CrucheEnInfo a écrit :je fais Windows + ⇧ + Entrée
Une formule matricielle se valide par Ctrl+Maj+Entrer

Le plus simple à mon avis :
  • coller la formule dans une seule cellule, en haut de la colonne H
  • Saisir à nouveau un paramètre dans la formule (il faut faire croire à Calc qu’il s’agit d’une nouvelle formule, par exemple ressaisie le signe =) puis valider la formule par Ctrl+Maj+Entrer
  • Se positionner sur la poignée de recopie de la cellule (le petit carré noir en bas à droite de la cellule), pressez la touche Ctrl et simultanément tirer la poignée de recopie sur le nombre de cellules voulues
A +

Re: Chercher les doublons et les disposer à la suite

Publié : 18 févr. 2017 15:47
par CrucheEnInfo
Je me bats croyez-moi, Jeff !!... Je reviens vers vous après les 800 essais nécessaires, mais pour l'instant, c'est pas mieux :evil:

Re: Chercher les doublons et les disposer à la suite

Publié : 18 févr. 2017 16:12
par zeguedon
Re,

Dans le dernier fichier que as mis en ligne, il n'y a aucune plage nommée, c'est donc normal que rien ne fonctionne.

A+

Re: Chercher les doublons et les disposer à la suite

Publié : 18 févr. 2017 16:23
par CrucheEnInfo
RE-bonjour zeguedon,

J'ai pourtant bien fait Insertion > Noms > Définir > Col_A... puis même chose pour Tableau.

Je n'y comprends vraiment rien ! ce qui ne doit pas être pour vous étonner.. tant je ne dois pas me distinguer admirablement du QI du poulpe à cette heure-ci :?

Re: Chercher les doublons et les disposer à la suite

Publié : 18 févr. 2017 16:28
par Jeff
zeguedon a écrit :
  • Sélectionner la colonne à dédoublonner, puis la nommer [...] "Col_A"
  • Nommer le tableau contenant les données à extraire [...] "Tableau"
  • Coller la formule suivante dans une nouvelle colonne, là où doit apparaître la liste des doublons à traiter :

    Code : Tout sélectionner

    =SI(ESTERREUR(PETITE.VALEUR(SI(NB.SI(Col_A;INDIRECT("A"&LIGNE()))>1;LIGNE(Col_A);"");LIGNE(Col_A)));"";INDEX(Tableau;PETITE.VALEUR(SI(NB.SI(Col_A;INDIRECT("A"&LIGNE()))>1;LIGNE(Col_A);"");LIGNE(Col_A));COLONNE(A1)))
  • les doublons sont situés colonne B [...] pour le coup NB.SI doit s'écrire :

    Code : Tout sélectionner

    NB.SI(Col_A;INDIRECT("B"&LIGNE()))
    [ndjeff : aux 2 endroits dans la formule]
  • maintenir les touches Ctrl et Maj enfoncée et tout en les maintenant enfoncées, appuyer sur la touche entrée.
  • Pour l'étendre vers la droite, afin de récupérer toutes les valeurs de chacune des lignes concernées, maintenir la touche Ctrl enfoncée
Joins-nous le fichier ainsi modifié, même si il y a des erreurs :)

Re: Chercher les doublons et les disposer à la suite

Publié : 18 févr. 2017 16:46
par CrucheEnInfo
Bon, je vous remercie tous,

Je vous envoie le n-ième fichier modifié... alors cette fois, lorsque j'ai tout fait et que j'en suis à relâcher 'Entrée' (tout en ayant encore Ctrl+Maj appuyés), OpenOffice tourne indéfiniment !!! Bigre, j'ai la poisse, je crois

Je vous envoie également une image de ce qu'avait donné la même réalisation, lorsque j'avais pu aller plus loin (j'avais pu "tirer" sur les cellules en bas à droite, avec la touche Alt plus la souris.... je rappelle que j'ai un Mac, avec un clavier Windows. Ainsi quand par exemple, je cherche à faire un Ctrl+C, je dois faire Windows+C sur mon clavier!!).

Voilou!

:shock: solé !!


Re-bonjour les garçons,

La lumière finit enfin par éclairer cette modeste demeure ! :D

Figurez-vous que j'ai, grâce à vos précieux conseils et constantes sollicitudes, de merveilleuses barres chocolatées et des tranquillisants plus médicamenteux, fini par obtenir un premier résultat... grâce à vous !

Je vous explique la manœuvre :
1) Je copie la commande
2) me place sur (G,1)
3) je colle dans la cellule (G,1), ce qui a pour effet de coller immédiatement la même commande dans la barre suivant le signe ∑ =.
4) Dès que je clique dans cette barre suivant le signe ∑ =, la commande est "recopiée" dans la cellule (G,1) mais s'étend largement au-delà, jusqu'à (U,3).
5) Je fais Ctrl + ⇧ + Entrée, puis je tire la cellule (G,1) vers le bas... et là... se répète la 1ère ligne, à chaque ligne où se trouvent des doublons.

Ainsi, c'est déjà beaucoup mieux... mais:
* en faisant un ⇧+action avec la souris, j'ai réussi à dévoiler les cellules sur une ligne ou une colonne, mais pas les 2 à la fois, ce qui eût pu être efficace :winch:, reconnaissez-le !
* ensuite, le contenu de la ligne 1 est systématiquement recopié, à l'intersection de la colonne H et de lignes où se trouvent les doublons, mais n'est malheureusement pas recopié le contenu des des doublons,
* enfin, j'ai tenté de faire un Données > Trier, même avec des données identiques, mais ça ne m'a pas pour autant fait 'remonter' les résultats en haut du tableau...

Etes-vous toujours prêts à m'épauler ?
Avez-vous besoin de l'image de ce magnifique résultat ?

Au plaisir...

Re: Chercher les doublons et les disposer à la suite

Publié : 19 févr. 2017 00:11
par zeguedon
Re,

L'erreur dans ton fichier vient du fait que la colonne nommée Col_A est définie sur toute sa longueur. Il faut lui donner la même hauteur (nombre de ligne) que la plage nommée Tableau.

Lorsque tu valides la formule par Ctrl+Maj+Entrée, la colonne doit se remplir automatiquement jusqu'à la ligne 49. Tu n'as pas à tirer sur le carré noir pour la recopier vers le bas. Voici la formule à coller :

Code : Tout sélectionner

=SI(ESTERREUR(PETITE.VALEUR(SI(NB.SI(Col_A;INDIRECT("B"&LIGNE()))>1;LIGNE(Col_A);"");LIGNE(Col_A)));"";INDEX(Tableau;PETITE.VALEUR(SI(NB.SI(Col_A;INDIRECT("B"&LIGNE()))>1;LIGNE(Col_A);"");LIGNE(Col_A));COLONNE(A1))) 
Lorsqu'elle est validée, tu dois voir ceci immédiatement:
(Double clic sur l'image pour l'agrandir)
Sélection_065.png
C'est seulement là que tu sélectionnes le carré noir de la ligne 49 pour l'étirer vers la droite tout en maintenant la touche Ctrl enfoncée.
Dans le fichier joint à ce message j'ai redéfini la colonne nommée Col_A à la bonne longueur.

Courage tu y es presque.

A+

Re: Chercher les doublons et les disposer à la suite

Publié : 19 févr. 2017 01:49
par CrucheEnInfo
Salut zeguedon,

Je commence à être terriblement déprimée...

J'ai beau avoir modifié, comme tu me l'as prescrit, rien n'y fait ! Plutôt coriace l'engin !!! :fou:

J'ai calibré la Col_A pile au nombre de lignes (49), puis de même avec le Tableau, nada, quetchi (orthographe incertaine !)... Désespérant.

Par contre, je me permets de mettre en PJ les 3 images de ce que ces donne, pour la Col_A, le Tableau, et le résultat après validation.

Un détail, comme tu le verras sur l'image 'Résultat', il n'y a pas, comme toi, de crochets qui apparaissent pour encadrer la ligne de code, dans la barre à droite du signe ∑ =.... Simple détail ?

Je suis DESESPEREE !!!!! Ca fait du bien de crier un grand coup !

Je suis vannée... Au dodo ! Merci encore mille fois à tous. :wink:

Re: Chercher les doublons et les disposer à la suite

Publié : 19 févr. 2017 02:03
par zeguedon
Bon, pas de panique tout est bon sauf la validation par CTRL+Maj+Entrée. L'absence des crochets le prouve.

Tu vas employer une autre méthode que je viens de tester :

A gauche du signe ∑ il y a une icône composée d'un f et d'un x (fx) comme fonction. En la survolant avec la souris, une infobulle est sensée afficher "Assistant fonction"
Lorsque ta cellule (G1) est sélectionnée, tu cliques sur cette icône. L'assistant fonction s'ouvre.
Tout en bas, dans le grand rectangle blanc, tu colles la formule qui va bien. Le signe égal y apparaîtra deux fois, tu peux supprimer le premier mais ce n'est pas obligatoire, l'assistant se charge de le faire.
Tout en bas à gauche, il y a une case à cocher nommée "Matrice" qu'il faut cocher, puis cliquer ensuite sur OK
Assistant Fonction_066.png
Là ça devrait aller mieux.

A+

Re: Chercher les doublons et les disposer à la suite

Publié : 19 févr. 2017 09:58
par CrucheEnInfo
Bonjour à tous !!!

♬ Le soleil vient de se lever .♬..!

C'est bon, ça fonctionne enfin ! :super:

Le coup de la fonction assistant a terrassé la bête... enfin pas tout à fait car lorsque j'essaie de "tirer" vers la droite avec le petit carré noir, je me retrouve avec une matrice uniformément constituée de ♯ NOM ?.

Comme l'a suggéré Jeff, je me suis rendu sur l'aide OpenOffice, ce qui m'a renvoyé pour cette erreur :

"Evaluation d'un identificateur impossible, par exemple : référence non valide, nom de domaine non valide, étiquette de colonne ou de ligne manquante, macro manquante, diviseur décimal incorrect, add-in introuvable".

Bref, là pour moi, c'est du mandarin mélangé à un soupçon de japonais... :cru:

En tout cas, le progrès est considérable. Un énorme merci... notamment pour avoir soutenu à bout de bras la bêbête que je suis, et qui s'est lancé dans un projet titanesque pour elle...

Mumu. :wink:

Re: Chercher les doublons et les disposer à la suite

Publié : 19 févr. 2017 10:05
par Jeff
CrucheEnInfo a écrit :lorsque j'essaie de "tirer" vers la droite avec le petit carré noir
Il faut d’abord presser la touche Ctrl, et la maintenir enfoncée tout en tirant le petit carré noir vers la droite.

(la touche Ctrl est spécifique à la recopie des fonctions matricielles)

Re: Chercher les doublons et les disposer à la suite

Publié : 19 févr. 2017 10:33
par CrucheEnInfo
Bonjour Jeff,
Il me semble que mon clavier n'est pas adapté à la chose...

Maintenir enfoncée la touche Ctrl (avec mon clavier Windows sur un ordinateur Mac), a le même effet que faire un Clic droit : cela ouvre la petite fenêtre contenant la liste (Formatage par défaut, Formateur les cellules...). C'est la raison pour laquelle j'ai tenté le coup avec les touches Windows, Alt... sans succès.
Maintenant, je pense que je vais dès demain essayer votre petite commande au boulot, et voir si, avec tout le matériel adéquat, cela fonctionne...

Cela vous convient ?

Merci encore, Mumu

VICTOIRE !!!!

Je me suis précipité sur Leboncoin pour y acheter un clavier Apple... et figurez*vous les amis que cela a porté ses fruits. Le problème est bel et bien résolu.

Vous êtes trop forts les gars... et les filles peut-être ??

Merci mille fois.

Puis-je vous demander
* si selon vous le système est stable ? Disons que je dois traiter 2 à 3000 lignes...

* est-ce que pour rechercher les 'troublons', les 'quadruplons', les 'quintuplons' dans ce genre de tableaux, il me suffit de changer dans la ligne de code les >1 par des >2, >3, ...

* pour signifier que la question posée est résolue, je dois écrire 'Résolu' dans l'index des fils, non ?

MERCI!!!!!

Re: Chercher les doublons et les disposer à la suite

Publié : 19 févr. 2017 16:43
par zeguedon
Bonjour,
CrucheEnInfo a écrit :* est-ce que pour rechercher les 'troublons', les 'quadruplons', les 'quintuplons' dans ce genre de tableaux, il me suffit de changer dans la ligne de code les >1 par des >2, >3, ...
Les troublons :lol: c'est une sujet un peu glissant qu'il n'est pas convenable d'aborder ici.
>1 inclut déjà 2, 3, 4, 5, par contre si tu veux isoler seulement les quadruplons, >=4 fera l'affaire mais n'apparaîtrons dans la liste ni les doublons ni triplions.
CrucheEnInfo a écrit :pour signifier que la question posée est résolue, je dois écrire 'Résolu' dans l'index des fils, non ?
Exact [Résolu] entre crochets + la coche verte (si tu ne trouves pas les crochets sur ton clavier, tu peux faire un copier coller d'un [Résolu] déjà écrit)


A+

[Résolu] Chercher les doublons et les disposer à la suite

Publié : 19 févr. 2017 16:50
par CrucheEnInfo
Contente de t'avoir amusé avec mon 'troublon'...

Merci en tout cas, je ne manquerais pas de revenir vers vous tous!

Mu