Suprimer les doublons les plus faibles

JPS28

XLDnaute Occasionnel
Bonjour a tous
Je me tourne vers vous car je n'ai rien trouvé dans mes recherches qui puisse m'aider je souhaiterais pouvoir En VBA de préférence pouvoir suprimer les doublons ayant le chiffre le plus faible en colonne B. Voir l'exemple.
Merci.Cordialement.
JPS
 

Pièces jointes

  • Classeur1.xls
    13.5 KB · Affichages: 73
  • Classeur1.xls
    13.5 KB · Affichages: 70
  • Classeur1.xls
    13.5 KB · Affichages: 68

soenda

XLDnaute Accro
Re : Suprimer les doublons les plus faibles

Bonjour le fil, JPS28

Un exemple (simplifié) à adapter
Code:
Sub b()
Dim L As Integer
 
[A2:B8].Sort [B:B], xlDescending, [A:A], , xlAscending
 
For L = 2 To 8
  If Cells(L - 1, 1) = Cells(L, 1) Then Cells(L, 1).Resize(, 2).ClearContents
Next
 
Range("A2:B8").SpecialCells(xlCellTypeBlanks).Delete xlUp
 
End Sub
tu peux aussi regarder la réponse de Boisgontier sur ce fil
https://www.excel-downloads.com/threads/extraire-differences-entre-2-colonnes.138411/

A plus

Editon : Bonjour David84
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Suprimer les doublons les plus faibles

Bonjour JPS28, le fil,

@ soenda : tu as de la chance que le fichier de JPS28 donne le bon résultat :)

Dans ton tri initial, il faut d'abord trier sur la colonne A :

[A2:B8].Sort [A:A], xlAscending, [B:B], , xlDescending

Perso j'aurais fait comme ceci :

Code:
Sub b()
Dim L As Integer
[A2:B8].Sort [A:A], xlAscending, [B:B], , xlDescending
For L = 2 To 8
  If Cells(L - 1, 1) = Cells(L, 1) Then [COLOR="Red"]Cells(L, 2) = ""[/COLOR]
Next
On Error Resume Next 's'il n'y a pas de doublons
Range("B2:B8").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

A+
 

soenda

XLDnaute Accro
Re : Suprimer les doublons les plus faibles

Re,
Salut Job75 :)

Job75 à dit:
Dans ton tri initial, il faut d'abord trier sur la colonne A
Je pas trop d'accord sur le "il faut". Mais bon, ça a l'air de fonctionner ;)

Et pour le reste, je préfère :
- les .Clearcontents aux =""
- et éviter les EntireRow.Delete (il peut y avoir d'autres données sur la ligne...)

Mais tu as raison, j'avais omis le : On Error Resume Next :D

A plus :)
 

job75

XLDnaute Barbatruc
Re : Suprimer les doublons les plus faibles

Re soenda,

Si, il faut. Change les valeurs en colonne B.

Pour supprimmer uniquement en colonnes A et B :

Code:
Sub b()
Dim L As Integer
[A2:B8].Sort [A:A], xlAscending, [B:B], , xlDescending
For L = 2 To 8
  If Cells(L - 1, 1) = Cells(L, 1) Then Cells(L, 2) = ""
Next
On Error Resume Next 's'il n'y a pas de doublons
Intersect([A2:B8], [B2:B8].SpecialCells(xlCellTypeBlanks).EntireRow).Delete xlUp
End Sub

A+
 

JPS28

XLDnaute Occasionnel
Re : Suprimer les doublons les plus faibles

Bonsoir david84, soenda, job75, le forum.
Tout d'abord merci a vous pour m'avoir répondu. Mais je me suis encore mal exprimé la liste de noms peut contenir au moins 300 noms différent d'animaux et autres venant d'un autre classeur en liaison se que je souhaiterais c'est que dans la colonne B grasse aux modifications que je peux faire dans l'autre classeur que le changement se fasse, car a l'heure actuel cela ne se modifie pas mais se rajoute. Je souhaiterai juste le code car l'autre classeur est trop volumineux pour le passé.
Exemple: Mouton français 4 s'efface ou soit remplacé par Mouton français 5 et ainsi de suite. Encore Merci a vous.
Cordialement.
JPS
 

job75

XLDnaute Barbatruc
Re : Suprimer les doublons les plus faibles

Bonjour JPS28, le forum,

C'est encore moins clair, surtout pour ces 2 points :

(...) 300 noms différent d'animaux et autres venant d'un autre classeur en liaison :confused:

(...) a l'heure actuel cela ne se modifie pas mais se rajoute :confused:

Joignez un classeur plus explicite (même s'il est simplifié) en montrant ce que vous voulez obtenir exactement.

A+
 

JPS28

XLDnaute Occasionnel
Re : Suprimer les doublons les plus faibles

Bonjour david84, soenda, job75, le forum.
Merci pour vos réponses pour répondre a job75 Jai un autre dossier ou se trouve d'autres informations sur chaque animaux que je peux modifié comme bon me semble ce chiffre en colonne B est un classement donc quand je modifi mon premier dossier je souhaiterais que celui ci soit modifié en mème temps pour l'instant cela ne se modifie pas dans ce dossier mais ce rajoute en fin de colonne et fausse mes calculs plus loin dans mon dossier ex: Mouton Français 6 se rajoute en bout de colonne au lieu de remplacer Mouton Français 5. Il y a l'heure actuelle 265 noms et la liste va grandir encore.
J'espére avoir fais une bonne explication, si non dite le moi.
Merci. Cordialement.
JPS
 

JPS28

XLDnaute Occasionnel
Re : Suprimer les doublons les plus faibles

Re david84, soenda, job75, le forum.
Une petite précision je souhaiterai que comme cela doit ce faire en remplacement que les noms restent en colonne A et les chiffres en colonne B
@+
JPS
 

david84

XLDnaute Barbatruc
Re : Suprimer les doublons les plus faibles

Re;
Parlons-nous de la même chose ?
Reprends le fichier fourni ce matin et tu verras que lorsque tu ajoute un nom (colonne A) et un nombre (colonne B) sous les données existantes, les données fournies dans les colonnes à droites regroupant les noms sans doublon et la donnée maxi correspondante sont actualisées.
Si ce n'est pas ce que tu veux, marque manuellement sur le fichier le résultat attendu.
 

JPS28

XLDnaute Occasionnel
Re : Suprimer les doublons les plus faibles

Re david84, soenda, job75, le forum.
Je faisais une précision pour job75 qui m'en avait demandé ton appli et trés bien david84 mais je souhaiterais si cela est possible que cela se fasse directement quand je fais des modifications dans mon autre dossier et que cela change directement dans ce dossier en liaison dans la colonne B car a mon avis c'est un code que je doit mettre dans l'autre dossiar pour éviter d'avoir ces doublons mais l'autre dossier est trop lourd pour le mettre sur le site comme je l'ai précisé au par avant.
Merci,Cordialement.
JPS
 

job75

XLDnaute Barbatruc
Re : Suprimer les doublons les plus faibles

Re,

Désolé JPS28, mais je n'ai rien compris :eek:

(...) l'autre dossier est trop lourd pour le mettre sur le site

Il suffit de l'alléger en ne conservant que quelques lignes et la feuille qui nous intéresse.

Si j'ai bien compris, il y a des formules de liaisons, où sont-elles ?? Il faudrait les voir.

Sans comprendre votre problème, on ne peut vous aider :rolleyes:

A+
 

JPS28

XLDnaute Occasionnel
Re : Suprimer les doublons les plus faibles

Re david84, soenda, job75, le forum.
Je te remercie job75 je le sais bien allégé au maximum mais il y a d'autres onglets dans ce dossier et des usfs et mème en l'allégent il ne passe pas.
C'était pour gerer des animaux pour ferme pédagogique
Cordialement.
JPS
 

Discussions similaires

Statistiques des forums

Discussions
312 413
Messages
2 088 201
Membres
103 763
dernier inscrit
p.michaux