Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Doublons

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Guismo33

XLDnaute Occasionnel
Bonjour a tous,

Fichier joint, je recherche a enlever les doublons sur les 5 colonnes et inscrire se qui reste
dans une autre colonne.

Bien à vous
 

Pièces jointes

Bonjour,

en VBA :
VB:
Option Explicit
Sub ListeSansDoublons()
Dim d1
Dim a(), c
Set d1 = CreateObject("Scripting.Dictionary")
a = Feuil1.[B2].CurrentRegion.Value
For Each c In a
    d1(c) = ""
Next c
[K5].Resize(d1.Count, 1) = Application.Transpose(d1.Keys)
End Sub
 
Bonjour

Pour avoir la liste sans doublon, on peut aussi faire avec
Code:
INDEX(plage;ENT(MAX(SI(NB.SI(J$1:J1;plage)=0;LIGNE(plage)+COLONNE(plage)/1000)))-1;1000*MOD(MAX(SI(NB.SI(J$1:J1;plage)=0;LIGNE(plage)+COLONNE(plage)/1000));1)-1)
en matriciel dans J2.

Le principe :
Avec LIGNE(plage)+COLONNE(plage)/1000 on repère la position de toutes les cellules de la plage (sous la forme 5,003 pour la cellule C5) : la partie entière donne le n° de la ligne, la partie décimale, le n° de la colonne.
Avec SI(NB.SI(J$1:J1;plage)=0, on ne garde que les contenus des cellules pas encore cités dans le haut de la colonne J, au dessus de la cellule active.
Avec MAX(SI(NB.SI(J$1:J1;plage)=0;LIGNE(plage)+COLONNE(plage)/1000)), on ne garde que la référence de la cellule intéressante placée le plus bas et le plus à droite.
Avec ENT(MAX(SI(NB.SI(J$1:J1;plage)=0;LIGNE(plage)+COLONNE(plage)/1000)))-1 renvoie donc le n° de la ligne le plus grand contenant une cellule intéressante (-1 à la fin car la plage commence en ligne 2, et parcequ'on utilise INDEX(plage).
MOD(x ;1) renvoie la partie décimale du nombre x donc 1000*MOD(MAX(SI(NB.SI(J$1:J1;plage)=0;LIGNE(plage)+COLONNE(plage)/1000));1)-1 renvoie le n° de la colonne le plus grand contenant une cellule intéressante (-1 car la plage commence sur la colonne B et parcequ'on utilise INDEX(plage...)

Ensuite, on utilise INDEX(plage;n° de ligne choisi;n° de colonne choisi).

Dans ton cas, pour ce qui est de ne garder qu'une partie de la paire, et pas son inverse, c'est une autre histoire... Il faut modifier la partie SI(NB.SI(J$1:J1;plage)=0. A voir.

@ plus
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
158
Réponses
16
Affichages
467
Réponses
17
Affichages
702
Réponses
7
Affichages
248
Réponses
9
Affichages
528
  • Question Question
Microsoft 365 Doublon
Réponses
4
Affichages
172
  • Question Question
XL 2021 Doublons
Réponses
7
Affichages
225
Réponses
40
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…