Dedoubloner

N

nadav

Guest
Bonjour, j'ai un fichier ou j'ai des milliers de codes qui se repete.
J'aimerais n'en garder qu'un seul de chaque.
Quelle forumle entrer.
Pourrez vous me retourner la piéce jointe avec la formule dedans SVP
Merci bcp à celui sui me répond.
 

Pièces jointes

  • exemple.xls
    13.5 KB · Affichages: 51
  • exemple.xls
    13.5 KB · Affichages: 51
  • exemple.xls
    13.5 KB · Affichages: 49
C

Celeda

Guest
Bonjour,
Voici ton fichier complété avec une possibilité d'élimination directe des doublons et voici le lien dans lequel tu peux retrouver d'autres possibilités sur l'élimination des doublons




Lien supprimé

Petit utilitaire dans la centrale de téléchargement en page 10 dans Fichier à la lettre D comme Doublonnez autant que vous voulez !!

Bon week-end

Celeda
 

Pièces jointes

  • Dedoublonner.zip
    6.2 KB · Affichages: 43
N

nadav

Guest
Merci pour le coup de main, mais à vrai dire j'ai pas trop votre niveau alors à part un copier colelr tout bete, je sait pas faire plus.
Regarde le fichier ci aprés http://backnad.free.fr/Dedoubloner.xls j'ya i mis en fait toute ma liste, ainsi que le ="" à la derniére cellule de la liste à dedoubloner, et ca ne foncitonen pas.

Peux tu m'expliquer pourquoi, par ce que pour moi c'est du Latin....
Merci
 
@

@+Thierry

Guest
SAlut Nadav, Celeda, le Forum

Ton lien mène nulle part. Mais bon tu peux aussi passer par une macro si ton tableau est structuré correctement.

Ce que j'appelle structuré c'est que tu a des entêtes en ligne 1 et que tes données commencent en Ligne 2 depuis la Colonne "A" et jusqu'où tu veux mais sans rupture... (Pas de cellules, lignes ou colonnes vides dans ton tableau)

La macro suivante détruiera tous les doublons trouvés en colonne "A" de la feuille "Feuil1"... Attention la macro détruiera toute la ligne correspondante au doublon détecté... (quelque soit la valeur des autres colonnes, car c'est la colonne "A" le critère de recherche)

Fais un essai en copiant ceci dans un module standard de VBE (Visual Basic Editor) accessible en activant la combinaison de touche "ALT + F11" et ensuite dans VBA => Menu => Insertion => Module...

Option Explicit

Sub DetruireDoublon()
Dim Plage As Range
Dim i As Long
Dim WS As Worksheet
Dim Col As String

Set WS = ThisWorkbook.Sheets("Feuil1") '<<<< Adapter au nom de feuille
Col = "A" '<<<< Adapter à la colonne désirée pour les doublons

WS.Range("A1").Sort Key1:=Range(Col & "1"), Order1:=xlAscending, Header:=xlGuess
For i = Range(Col & "65536").End(xlUp).Row + 1 To 2 Step -1
If Range(Col & i) = Range(Col & i - 1) Then
Range(Col & i).ClearContents
End If
Next
WS.Columns(Col).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub


Voilà c'est radical, je te conseille de travailler sur une copie de ton classeur pour débuter et voir si çà convient

Bon Dimanche
@+Thierry
 
N

nadav

Guest
Super THIERRY,
Nickel, Rapide efficace. comme tu l'a dit Radicale.

Par contre, j'ai un deuxiéme blem.
A présent que c'est dedoubloné il me faudrait pouvoir inserer la légende correspondant à chaque code dont la totélité figurant sur la feuille 2, dans la feuille 1
en gros lui dirre, Si feuille 1 contient un code en colonne A figurant sur Feuille 2 en colonne A, alors mettre en Feuille 1 Colonne B la légende provenant de Feuille 2 B pour chaque cellule.

Peux tu me traudire cela en Français ? ;-)

Merci
NAdav
LA feuille se trouve sur http://backnad.free.fr/nafadedoub.xls
 
C

Celeda

Guest
Bonjour,

Avec une rechercheV :
=SI(ESTNA(RECHERCHEV(A13;Tablo;2;0));"";RECHERCHEV(A13;Tablo;2;0))

et en nommant ta plage dans la feuille 2

Celeda
 

Pièces jointes

  • nafadedoub.zip
    34.5 KB · Affichages: 22
N

nadav

Guest
Merci Beaucoup CELeda, Tu es superbe !

pourrais tu STP afin que je ne meurs pas compéletement idiot, retourner voir ce lien, j'ai fait exactement comme toi et ca ne marche pas, peux tu voir STP et me dire ce qui ne va pas.

http://backnad.free.fr/nafadedoub.xls

Merci
Nadav
 
C

Celeda

Guest
Bonjour,

C'est normal : tu as fait cela dans la colonne B1


=SI(ESTNA(RECHERCHEV(A3;Tablo;2;0));"";RECHERCHEV(A3;Tablo;2;0))

il faut modifier A3 en A1 et puis cela te renvoie l'erreur #Noms partout parce qu'il ne trouve pas à quoi cela correspond - ''Tablo'' n'a pas de référence. Il faut nommer ta plage dans la feuille 2 de A1 à A670, sinon tu lui demandes de chercher quelque chose dans un nom qu'il ne connait pas.
(j'avais collé le nom de la plage de Tablo dans mon fichier)

il suffit de mettre bien dans B1

=SI(ESTNA(RECHERCHEV(A1;Tablo;2;0));"";RECHERCHEV(A1;Tablo;2;0))


La formule recherche v veut dire ceci selon excel :

RECHERCHEV recherche une valeur dans une liste comportant des étiquettes de lignes. Utilisez RECHERCHEV lorsque votre liste contient des étiquettes de lignes dans la colonne située la plus à gauche et que vous souhaitez effectuer la recherche d'une valeur dans une autre colonne sur la base de l'étiquette de ligne. Par défaut, vous devez trier la liste avant de pouvoir utiliser RECHERCHEV.

et selon Celeda simplifiée
dans B1 = renvoie l'équivalent de la valeur qui se trouve dans la colonne 2 placée dans une plage ''Tablo'' et qui correspond à la valeur de la ligne A1 de la feuile 1 -


soit dans ''Tablo'' = la plage de la feuille 2 qui va de A1 à B670

la colonne 2 dans le ''Tablo'' renvoie le critère que tu souhaites retourner ex
Culture de céréales; cultures industrielles

si cela avait été dans la colonne C = tu aurais mis 3,
si D = 4 ect...


le zero dans la formule = renvoie valeur juste

le ESTNA = renvoie plutôt que des zeros, un Vide (en général on préfère)

mais tu peux essayer tout simplement dans B1 feuille 1 =


RECHERCHEV(A1;Tablo;2;0) = tu auras des zeros si excel ne trouve pas d'équivalence dans l'autre feuille.

En résumé, la recherche v est très utilisée et rend de très grands services quant il s'agit de renvoyer des données d'un tableau à un autre.

Pour faciliter les choses, nommer aussi les plages peut aider grandement car tu aurais pu aussi bien mettre :

=SI(ESTNA(RECHERCHEV(A1;Feuil2!A1;B670;2;0));"";RECHERCHEV(A1;Feuil2!A1;B670;2;0))

mais si tu ne mets pas le signe $ devant tes plages, en copiant la formule dans ta feuille 1, tout se décale alors il faut faire :

=SI(ESTNA(RECHERCHEV(A1;Feuil2!$A$1;$B$670;2;0));"";RECHERCHEV(A1;Feuil2!$A$1;$B$670;2;0))

avec F4, tu colles les signes $ d'un seul coup.

Mais tu constastes aisément que ''Tablo'' est plus agréable à lire et il me semble moins difficile de travailler avec des cellules nommées.
Tu vas dans insertion-nom.

De plus, si tu agrandis ta plage dans la feuille 2, tu vas dans Insertion - Nom et tu changes directement tes lignes sans te soucier de quoi que ce soit.

Voilà, Voili, je ne suis pas une puriste au niveau des explications alors veuillez me pardonner les pros et les profs, mais je le dis comme je le sens.

Aussi nadav, reviens moi si je n'ai pas été assez claire.

J'ai corrigé ton tableau et tout fonctionne bien.

Celeda
 
J

jp

Guest
Bonsoir Celeda, nadav, @+Thierry, le Forum,

Lorsque je suis rentré, tout à l'heure, je n'ai vu que le post de 16:36, j'ai donc récupéré le lien, et j'ai répondu sur ce que je voyais. C'est aussi simple que cela, je nai pas pris le temps de lire les posts précédents, ni de voir d'ailleurs qu'il y avait des pièces jointes..

Je suis désolé de ne pas tout avoir suivi...

Je n'ai donc pas, par ailleurs, donné d'explications supplémentaires, car je considère que si, dans une fonction, une formule on attribue un nom, c'est que l'on sait de quoi on parle... maintenant la distraction ou le désir d'avancer fait que l'on peut perdre aussi le fil de la chose...
C'était, en instantané, le but de ma réponse..

Bonne soiré à vous tous.

jp
 
C

Celeda

Guest
Bonsoir,

JP : on va lever tout de suite une confusion qu'il me semble détecter dans ton esprit.

Ici on répond selon notre desiderata - nos connaissances et balabaabla et j'en passe.

Selon chacun c'est plus ou moins long - plus ou moins précis - plus ou moins technique - plus ou moins stylé - plus ou moins avec des trucs qui bougent - mais l'essentiel c'est qu'on y réponde.

Parfois on est complétement dans les patates - parfois notre collégue de la porte d'en face a donné la réponse et pendant qu'on préparait la sienne hop les deux se téléscopent. Cela fait partie du jeu de l'instantané.

Mais du moment qu'on a du fun et qu'on apprend, le reste c'est de la poutine.

Par contre, concernant certaines fonctionnalités reproduites et je prends en exemple les procédures vba, c'est pas parce que je m'en sers que je sais de quoi je parle. Je t'assure que j'en suis loin mais trés loin parfois.
Je fais toujours du décodage et j'apprends sur le tas en voyant souvent les mêmes lignes revenir pour faire X fonction. Alors je pense que pour certains et certaines, concernant des manips, il faut s'investir dans la compréhension de chaque formule posée. Ne connaissant pas toujours le niveau exact des participants, j'essaie de donner toujours le meilleur de moi-même pour les explications mais cela n'est pas évident. Et quand je ne comprends pas j'ose le dire aussi ce qui n'est pas évident non plus pour certains et certaines.

Aussi JP, ne te mets pas plus de soucis en tête que cela. On est tous déjà là dans la même galère XLD, pour essayer de refiler un peu de notre ''science'' c'est déjà pas mal. Et chacun rame à sa vitesse.

Imagine si les mêmes choses étaient faites bénévolement au niveau de la planéte dans d'autres domaines...... mais bon....on sort du domaine de XLD et on entre dans XFilesAutreDimension.

à bientôt JP.

CoucouCeleda.gif
 
J

jp

Guest
Re Celeda,

Je n'ai pas, il me semble, dit quoi que ce soit de frustrant, j'ai simplement répondu en donnant le pourquoi du post qui précédait.... simplement...
Pourquoi j'avais répondu cela....
et méaculpa j'ai ^précidé que je n'avais pas lu les posts précédement....

donc bêtement, que je n'avais suivi...

Je pensais être très bon dans uncertain nombre de chose , bon ou moyen selon la chose dans Excel, Vba. Je suis, depuis quelques jours, descendu d'un de deux voire de trois niveaux.

Alors je ne comprends pas trop ton mécontentement....

Mais ceci dit, rassures toi, je ne t'en veux pas pour ta réponse...

Je te souhaite une bonne soirée Celeda

jp
 
C

Celeda

Guest
Bonsoir,

Alors là JP tu es complétement à côté de la plaque : non seulement tu lis pas ce que j'écris mais en plus tu l'interprétes mal !!

Je suis désolée mais tu n'as rien compris du tout !!!

Et pis sache que Celeda elle se fache jamais sur le forum, que c'est une brave fille qui essaie toujours de prendre les choses du bon côté et qu'elle ne se permet jamais de juger qui que ce soit sur le forum alors je te suggére de lire le forum en entier avant d'écire des choses comme cela sur moi et d'apprendre à me connaître car je ne peux pas laisser passer ce genre de balivernes. Et en plus elle ne se prend pour personne Celeda et elle a que trés rarement des moments de mécontentement.
Mais là, oui tu viens de m'en donner un de moment de mécontentement.
Alors avant d'écrire n'importe quoi il faut faire un peu attention JP. Car là tu y vas un peu fort.


J'ai assez d'ancienneté dans ce forum pour savoir écrire et si tu n'es pas capable d'interpreter correctement mes propos, à ta guise mais attention parce que là moi je ne vais pas me laisser faire.

mécontentement....

et

je ne t'en veux pas pour ta réponse...


N'importe quoi !!

Celeda (désolée pour le forum pour cette sortie mais c'est du brut de brut de Celeda- pardonnez-moi)
 
J

jp

Guest
Re Celeda,

Sans toujours t'en vouloir, là je ne comprends plus rien, mais bon..........

désolé de ces mauvaises interprétations...

J'ai simplement répondu au post de 16:36 comme je l'ai précisé...
c'est tout.
Il m'a semblé important de préciser aussi pourquoi on a répondu peut-être à coté, mais le fichier récupéré sur le lien :
backnad.free.fr/nafadedoub.xls

ne m'a permis que de donner cette réponse...
J'y ai vu un petit problème... je le dis...

Ceci dit, je pense effectivement que tu es une brave fille, comme enormément sur ce forum, et qu'il y a aussi une quantité de braves gars et que tous font un travail magnifique...

Je vais essayé de comprendre ce que j'ai pu dire de travers.....

et bonne soirée à tous

jp
 
@

@+Thierry

Guest
WOW !

Meuh Non !!!!
VacheMeuhNon.gif


En fait en vous lisant je peux dire que TOUS LES DEUX vous n'êtes pas sur la même planête, la même longueur d'onde, le même fil conducteur.... Et c'est un comble dans un fil de discussion !

Non personne ne se fache, vous vous êtes mal interprétés mutuellement et surtout mal lu et c'est tout... C'est fou ce que l'écrit marque ...... dans le sens marquer l'esprit... Vous seriez tous les deux à une réception, avec les même propos oralement et avec la même confusion de pensée...... çà finirait par un bon éclat de rire en buvant du champagne...http://imagesdeti.free.fr/GifAnimesSmiley/smiley_413.gif|/img]


[img]http://imagesdeti.free.fr/GifAnimesSmiley/smiley_232.gif

Et Big Bisou à notre Celeda, notre préférée Maîtresse des TCD sous un beau ciel étoilé d'été plein d'étoiles filantes...

@+Thierry
 

Discussions similaires

Réponses
8
Affichages
453
Réponses
16
Affichages
476

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin