Recherche de doublons sans suppression et incrémentation sur la valeur la plus haute

franciszen

XLDnaute Nouveau
Bonjour, dans des listes j'ai X identifiants avec parfois malheureusement des doublons que je ne veux pas supprimer mais aux quel j'aimerais donner une valeur supériure à la la dernière entrée

SPA 03014 S01 001
SPA 03014 S01 002
SPA 03014 S01 003
SPA 03014 S01 004
SPA 03014 S01 005
SPA 03014 S01 006
SPA 03014 S01 007
SPA 03014 S01 007

SPA 03014 S01 009
SPA 03014 S01 010
SPA 03014 S01 011
SPA 03014 S01 012
SPA 03014 S01 013
SPA 03014 S01 014
SPA 03014 S01 015
SPA 03014 S01 016
SPA 03014 S01 017
SPA 03014 S01 018
SPA 03014 S01 019
SPA 03014 S01 020

ICI la valeur 007 est en doublon je souhaiterais lui donner la valeur 021

Merci d'avance pour votre aide
Très cordialement
Francis
 

job75

XLDnaute Barbatruc
Re : Recherche de doublons sans suppression et incrémentation sur la valeur la plus h

Bonjour franciszen, JHA,

Une formule qui fonctionne avec doublons, triplons, quadruplons etc :

Code:
=GAUCHE(A1;NBCAR(A1)-3)&TEXTE(DROITE(A1;3)+NB.SI(A$1:A1;A1)-1;"000")
Il est utile de préciser que la colonne A doit avoir été triée. Edit : non, ce n'est pas nécessaire.

Fichier joint.

A+
 

Pièces jointes

  • Classeur(1).xls
    26.5 KB · Affichages: 57
  • Classeur(1).xls
    26.5 KB · Affichages: 53
  • Classeur(1).xls
    26.5 KB · Affichages: 93
Dernière édition:

job75

XLDnaute Barbatruc
Re : Recherche de doublons sans suppression et incrémentation sur la valeur la plus h

Re,

Cela dit vous parlez de 021...

Si c'est pour pouvoir mettre les doublons à la fin du tableau, c'est facile, voir le fichier (2).

A+
 

Pièces jointes

  • Classeur(2).xls
    25 KB · Affichages: 45
  • Classeur(2).xls
    25 KB · Affichages: 43
  • Classeur(2).xls
    25 KB · Affichages: 51

job75

XLDnaute Barbatruc
Re : Recherche de doublons sans suppression et incrémentation sur la valeur la plus h

Re,

Bon, il est clair que la question du post #1 est d'incrémenter les doublons à partir de 021.

Alors utilisez cette formule matricielle en C1 :

Code:
=SI(NB.SI(A:A;A1)=1;A1;GAUCHE(A1;NBCAR(A1)-3)&TEXTE(MAX(--(0&DROITE(A$1:A$10000;3));SI(LIGNES(C$1:C1)>1;--(0&DROITE(DECALER(C$1;;;LIGNES(C$1:C1)-1);3))))+1;"000"))
A valider par Ctrl+Maj+Entrée et tirer vers le bas.

Notez qu'il n'est pas nécessaire que la colonne A soit triée.

Fichier (3).

A+
 

Pièces jointes

  • Classeur(3).xls
    30.5 KB · Affichages: 53
  • Classeur(3).xls
    30.5 KB · Affichages: 51
  • Classeur(3).xls
    30.5 KB · Affichages: 47

JCGL

XLDnaute Barbatruc
Re : Recherche de doublons sans suppression et incrémentation sur la valeur la plus h

Bonjour à tous,
Salut Gérard,

A mon avis notre ami souhaite conserver le premier ....07...
Connaissant ta pugnacité légendaire (de l'IdF jusqu'à la Côte de Nacre...) je ne doute pas que tu remettes sur l'ouvrage ta jolie formule.

A++
A+ à tous
 

JHA

XLDnaute Barbatruc
Re : Recherche de doublons sans suppression et incrémentation sur la valeur la plus h

Re,

Avec une colonne sup

JHA
 

Pièces jointes

  • Classeur+1 bis.xlsx
    9.9 KB · Affichages: 46
  • Classeur+1 bis.xlsx
    9.9 KB · Affichages: 51
  • Classeur+1 bis.xlsx
    9.9 KB · Affichages: 53

JCGL

XLDnaute Barbatruc
Re : Recherche de doublons sans suppression et incrémentation sur la valeur la plus h

Bonjour à tous,
Re JHA,

Sans colonne supplémentaire.

A+ à tous
 

Pièces jointes

  • Job_JHA_JC Classeur.xlsx
    14.5 KB · Affichages: 39
  • Job_JHA_JC Classeur.xlsx
    14.5 KB · Affichages: 36
  • Job_JHA_JC Classeur.xlsx
    14.5 KB · Affichages: 41

JHA

XLDnaute Barbatruc
Re : Recherche de doublons sans suppression et incrémentation sur la valeur la plus h

RE,

modif colonne "B"

JHA
 

Pièces jointes

  • Classeur+1 bis.xlsx
    9.9 KB · Affichages: 52
  • Classeur+1 bis.xlsx
    9.9 KB · Affichages: 53
  • Classeur+1 bis.xlsx
    9.9 KB · Affichages: 57

JHA

XLDnaute Barbatruc
Re : Recherche de doublons sans suppression et incrémentation sur la valeur la plus h

JC,

Après test, il reste un bug sans la colonne sup

JHA
 

Pièces jointes

  • Job_JHA_JC Classeur.xlsx
    13.6 KB · Affichages: 45
  • Job_JHA_JC Classeur.xlsx
    13.6 KB · Affichages: 47
  • Job_JHA_JC Classeur.xlsx
    13.6 KB · Affichages: 45

JCGL

XLDnaute Barbatruc
Re : Recherche de doublons sans suppression et incrémentation sur la valeur la plus h

Bonjour à tous,

Exact mais étonnant...
D'où, certaines fois, l'utilité d'une colonne supplémentaire, qui peut être masquée, à une formule trop longue et trop complexe.

A++
A+ à tous
 

job75

XLDnaute Barbatruc
Re : Recherche de doublons sans suppression et incrémentation sur la valeur la plus h

Bonsoir Jean-Claude :)

Cette nouvelle formule tient compte de ta remarque :

Code:
=SI(OU(NBCAR(A1)<4;NB.SI(A$1:A1;A1)=1);""&A1;GAUCHE(A1;NBCAR(A1)-3)&TEXTE(MAX(--(0&DROITE(A$1:A$10000;3));SI(LIGNES(C$1:C1)>1;--(0&DROITE(DECALER(C$1;;;LIGNES(C$1:C1)-1);3))))+1;"000"))
Elle accepte aussi des cellules vides en colonne A.

Fichier (4).

A+
 

Pièces jointes

  • Classeur(4).xls
    31.5 KB · Affichages: 39
  • Classeur(4).xls
    31.5 KB · Affichages: 80
  • Classeur(4).xls
    31.5 KB · Affichages: 46

job75

XLDnaute Barbatruc
Re : Recherche de doublons sans suppression et incrémentation sur la valeur la plus h

Bonjour le fil, le forum,

Plutôt que de rechercher le maximum jusqu'à A10000 il vaut mieux utiliser :

Code:
=SI(OU(NBCAR(A1)<3;NB.SI(A$1:A1;A1)=1);""&A1;GAUCHE(A1;NBCAR(A1)-3)&TEXTE(MAX(--(0&DROITE(DECALER(A$1;;;EQUIV("zzz";A:A));3));SI(LIGNES(C$1:C1)>1;--(0&DROITE(DECALER(C$1;;;LIGNES(C$1:C1)-1);3))))+1;"000"))
Fichier (5).

Bonne journée et A+
 

Pièces jointes

  • Classeur(5).xls
    31.5 KB · Affichages: 48

job75

XLDnaute Barbatruc
Re : Recherche de doublons sans suppression et incrémentation sur la valeur la plus h

Re,

Sur Excel 2007 et versions suivantes on peut utiliser SIERREUR :

Code:
=SI(OU(NBCAR(A1)<3;NB.SI(A$1:A1;A1)=1;ESTERR(-DROITE(A1;3)));""&A1;GAUCHE(A1;NBCAR(A1)-3)&TEXTE(MAX(SIERREUR(--DROITE(DECALER(A$1;;;EQUIV("zzz";A:A));3);0);SIERREUR(--DROITE(DECALER(C$1;;;LIGNES(C$1:C1)-1);3);0))+1;"000"))
Ainsi la formule accepte n'importe quel texte en colonne A.

Edit : le test SI(LIGNES(C$1:C1)>1 était inutile, je l'ai supprimé (la 1ère ligne n'est jamais un doublon).

Fichier (6).

A+
 

Pièces jointes

  • Classeur(6).xls
    32 KB · Affichages: 45
Dernière édition:

Discussions similaires