Incrémenter des doublons sur Excel
Résolu/Fermé
cybergui
Messages postés
5
Date d'inscription
dimanche 25 septembre 2011
Statut
Membre
Dernière intervention
28 septembre 2011
-
25 sept. 2011 à 02:18
cybergui Messages postés 5 Date d'inscription dimanche 25 septembre 2011 Statut Membre Dernière intervention 28 septembre 2011 - 28 sept. 2011 à 08:28
cybergui Messages postés 5 Date d'inscription dimanche 25 septembre 2011 Statut Membre Dernière intervention 28 septembre 2011 - 28 sept. 2011 à 08:28
A voir également:
- Excel numéroter les occurrences
- Liste déroulante excel - Guide
- Si et excel - Guide
- Comment numéroter les pages sur word - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
6 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
25 sept. 2011 à 08:28
25 sept. 2011 à 08:28
Bonjour
Problème classique; proposition sans macro
tes noms prénoms en colonne A et B
en colonne C ( à masquer)
=GAUCHE(A2;3)&GAUCHE(B2;3)
en colonne D
=SI(NB.SI(C$2:C$28;C2)>1;C2&NB.SI(C$2:C2;C2);C2)
formules à tirer vers le bas
maintenant pour des milliers de login, on pourrait passer par VBA (bof!): la méthode est la m^me que par formule + boucle et variable-tableau pour la rapidité;si ca t'intéresse, je reviens en fin de journée (rando) mais un forumeur devrait pouvoir te répondre avant mon retour!
Problème classique; proposition sans macro
tes noms prénoms en colonne A et B
en colonne C ( à masquer)
=GAUCHE(A2;3)&GAUCHE(B2;3)
en colonne D
=SI(NB.SI(C$2:C$28;C2)>1;C2&NB.SI(C$2:C2;C2);C2)
formules à tirer vers le bas
maintenant pour des milliers de login, on pourrait passer par VBA (bof!): la méthode est la m^me que par formule + boucle et variable-tableau pour la rapidité;si ca t'intéresse, je reviens en fin de journée (rando) mais un forumeur devrait pouvoir te répondre avant mon retour!
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
Modifié par Mike-31 le 25/09/2011 à 10:08
Modifié par Mike-31 le 25/09/2011 à 10:08
Bonjour le fil,
Je pense qu'il est possible d'obtenir directement le résultat, à partir de A2 saisir nom et prénom
DUPONT Catie etc ...
en B2 coller cette formule et incrémenter vers le bas
=GAUCHE(A2;3)&SUBSTITUE(STXT(A2;CHERCHE(" ";A2)+1;3);;)&NB.SI($A$2:A2;A2)
et si on souhaite numéroter à partir du premier doublon
=GAUCHE(A2;3)&SUBSTITUE(STXT(A2;CHERCHE(" ";A2)+1;3);;)&SI(NB.SI($A$2:A2;A2)-1=0;"";NB.SI($A$2:A2;A2)-1)
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Je pense qu'il est possible d'obtenir directement le résultat, à partir de A2 saisir nom et prénom
DUPONT Catie etc ...
en B2 coller cette formule et incrémenter vers le bas
=GAUCHE(A2;3)&SUBSTITUE(STXT(A2;CHERCHE(" ";A2)+1;3);;)&NB.SI($A$2:A2;A2)
et si on souhaite numéroter à partir du premier doublon
=GAUCHE(A2;3)&SUBSTITUE(STXT(A2;CHERCHE(" ";A2)+1;3);;)&SI(NB.SI($A$2:A2;A2)-1=0;"";NB.SI($A$2:A2;A2)-1)
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
949
Modifié par Mytå le 26/09/2011 à 02:38
Modifié par Mytå le 26/09/2011 à 02:38
Salut le forum
Mike, je ne crois pas que NB.SI($A$2:A2;A2) retrouve les doublons
de DUPcat dans la colonne de noms. ("DUPONT Catie", "DUPRES Catherine")
Première référence trouvée sera égale à 1
Pour avoir un code à deux chiifres
Pour éliminer les majuscules
Mytå
Mike, je ne crois pas que NB.SI($A$2:A2;A2) retrouve les doublons
de DUPcat dans la colonne de noms. ("DUPONT Catie", "DUPRES Catherine")
Première référence trouvée sera égale à 1
=GAUCHE(A2;3)&SUBSTITUE(STXT(A2;CHERCHE(" ";A2)+1;3);;)&NB.SI($B$1:B1;GAUCHE(A2;3)&SUBSTITUE(STXT(A2;CHERCHE(" ";A2)+1;3)&"*";;))+1
Pour avoir un code à deux chiifres
=GAUCHE(A2;3)&SUBSTITUE(STXT(A2;CHERCHE(" ";A2)+1;3);;)&TEXTE(NB.SI($B$1:B1;GAUCHE(A2;3)&SUBSTITUE(STXT(A2;CHERCHE(" ";A2)+1;3)&"*";;))+1;"00")
Pour éliminer les majuscules
=MINUSCULE(GAUCHE(A4;3)&SUBSTITUE(STXT(A4;CHERCHE(" ";A4)+1;3);;)&TEXTE(NB.SI($B$1:B3;GAUCHE(A4;3)&SUBSTITUE(STXT(A4;CHERCHE(" ";A4)+1;3)&"*";;))+1;"00"))
Mytå
cybergui
Messages postés
5
Date d'inscription
dimanche 25 septembre 2011
Statut
Membre
Dernière intervention
28 septembre 2011
1
26 sept. 2011 à 10:51
26 sept. 2011 à 10:51
Bonjour,
d'abord un grand merci à tous, je ne m'attendais pas a autant d'engouement pour mon problème, c'est super. Il faut que je fasse des essais. Je vous tiens au courant.
A++
d'abord un grand merci à tous, je ne m'attendais pas a autant d'engouement pour mon problème, c'est super. Il faut que je fasse des essais. Je vous tiens au courant.
A++
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
Modifié par Mike-31 le 27/09/2011 à 09:09
Modifié par Mike-31 le 27/09/2011 à 09:09
Salut,
tu peux tout faire simplement sans passer par le VBA, dans mon exemple en A tu saisis le nom et prénom une formule recompose le nom et prénom en conservant que les trois premières lettres de chacun
et une mis en forme conditionnelle pour coloriser uniquement les doublons. si tu souhaites que les tous les mots en doublon se colorisent, la formule est plus simple
=NB.SI($A$2:$A$20;A2)>1
https://www.cjoint.com/?AIBi5lyG472
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
tu peux tout faire simplement sans passer par le VBA, dans mon exemple en A tu saisis le nom et prénom une formule recompose le nom et prénom en conservant que les trois premières lettres de chacun
et une mis en forme conditionnelle pour coloriser uniquement les doublons. si tu souhaites que les tous les mots en doublon se colorisent, la formule est plus simple
=NB.SI($A$2:$A$20;A2)>1
https://www.cjoint.com/?AIBi5lyG472
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
27 sept. 2011 à 10:04
27 sept. 2011 à 10:04
Bonjour,
Je ne comprends pas trop ta démarche
dans ton classeur, tu as une macro** qui t'incrémente les doublons et il suffirait alors d'affecter les couleurs sans avoir à réécrire une macro
**:peut-^tre des petites modifs pour quelle respecte ta disposition
tu dis
Je ne comprends pas trop ta démarche
dans ton classeur, tu as une macro** qui t'incrémente les doublons et il suffirait alors d'affecter les couleurs sans avoir à réécrire une macro
**:peut-^tre des petites modifs pour quelle respecte ta disposition
tu dis
cybergui
Messages postés
5
Date d'inscription
dimanche 25 septembre 2011
Statut
Membre
Dernière intervention
28 septembre 2011
1
27 sept. 2011 à 23:47
27 sept. 2011 à 23:47
Bonjour Michel_m,
j'ai une macro qui colorie tous les doublons mais avec une seule couleur sans les incrémenter. Moi je voudrais que cela les incrémente et que les couleurs soient différentes pour chaque groupe de login identiques (ex: tous les "DUPONT1", "DUPONT2", "DUPONT3", etc. en bleu, les "DUPRES1", "DUPRES2", etc. en rouge)
je ne suis pas sûr d'avoir été plus clair, lol
j'ai une macro qui colorie tous les doublons mais avec une seule couleur sans les incrémenter. Moi je voudrais que cela les incrémente et que les couleurs soient différentes pour chaque groupe de login identiques (ex: tous les "DUPONT1", "DUPONT2", "DUPONT3", etc. en bleu, les "DUPRES1", "DUPRES2", etc. en rouge)
je ne suis pas sûr d'avoir été plus clair, lol
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
28 sept. 2011 à 08:04
28 sept. 2011 à 08:04
bonjour,
Oui j'avais compris, merci, mais tu as une autre macro qui incrémente les doublons et on devrait pouvoir l'utiliser pour colorier les "familles" de doublons. Mais apparemment, cette macro (l'autre!!)ne te convient pas car, sinon, tu n'aurais pas poser ta question ?...
donc, tu sors de ton obsession de ta macro-couleur et tu essaies de répondre à ma question-remarque, sinon, j'abandonne le suivi
Oui j'avais compris, merci, mais tu as une autre macro qui incrémente les doublons et on devrait pouvoir l'utiliser pour colorier les "familles" de doublons. Mais apparemment, cette macro (l'autre!!)ne te convient pas car, sinon, tu n'aurais pas poser ta question ?...
donc, tu sors de ton obsession de ta macro-couleur et tu essaies de répondre à ma question-remarque, sinon, j'abandonne le suivi
cybergui
Messages postés
5
Date d'inscription
dimanche 25 septembre 2011
Statut
Membre
Dernière intervention
28 septembre 2011
1
28 sept. 2011 à 08:28
28 sept. 2011 à 08:28
Désolé Michel_m si mon ignorance vous a vexé. Vous avez déjà fait tant pour moi, je ne voudrais pas abuser de votre temps. Je vais me débrouiller avec tout ce que vous m'avez déjà apporté. Le reste c'est du perfectionnisme....
Bonne continuation
Bonne continuation
cybergui
Messages postés
5
Date d'inscription
dimanche 25 septembre 2011
Statut
Membre
Dernière intervention
28 septembre 2011
1
27 sept. 2011 à 02:11
27 sept. 2011 à 02:11
Bonjour,
J'ai testé votre solution Michel_m et elle me satisfait.
A vrai dire vu que je ne suis pas très doué, je n'ai pas réussi à adapter les autres solutions à mon tableau excel :-/
Je rajouterais une contrainte supplémentaire, je m'explique:
j'ai une macro qui colorie les cases des doublons détectés. Cependant elle n'est pas très pratique puisqu'il faut la lancer manuellement et ensuite choisir une plage d'application. De plus, tous les doublons se colorient en vert au lieu de mettre une couleur par groupe de doublons.
Serait-il possible qu'en plus d'incrémenter les doublons, leurs cases soient soient colorées de différent couleur (ex: tous les "DUPONT1", "DUPONT2", "DUPONT3", etc. en bleu, les "DUPRES1", "DUPRES2", etc. en rouge) et ne pas avoir à rentrer manuellement la plage?
Voici la macro:
Sub MarqueLesDoublons()
Dim Plage As Range, i&, Cell As Range, Rng As Range
On Error Resume Next
Set Plage = Application.InputBox("Plage à examiner", Type:=8)
If IsEmpty(Plage) Then Exit Sub
Application.ScreenUpdating = False
For Each Cell In Plage
For i = 1 To Plage.Count
Set Rng = Cell.Offset(i)
If Rng <> "" And Rng = Cell Then
Cell.Interior.ColorIndex = 43
Rng.Interior.ColorIndex = 43
Exit For
End If
Next i
Next Cell
End Sub
Je vous joint ci-dessous une partie de mon fichier excel, j'ai enlever une grande partie de mes colonnes et le nom et le prénom des utilisateurs pour une question de confidentialité...
https://www.cjoint.com/?AIBchF9W2Qd
Merci par avance
J'ai testé votre solution Michel_m et elle me satisfait.
A vrai dire vu que je ne suis pas très doué, je n'ai pas réussi à adapter les autres solutions à mon tableau excel :-/
Je rajouterais une contrainte supplémentaire, je m'explique:
j'ai une macro qui colorie les cases des doublons détectés. Cependant elle n'est pas très pratique puisqu'il faut la lancer manuellement et ensuite choisir une plage d'application. De plus, tous les doublons se colorient en vert au lieu de mettre une couleur par groupe de doublons.
Serait-il possible qu'en plus d'incrémenter les doublons, leurs cases soient soient colorées de différent couleur (ex: tous les "DUPONT1", "DUPONT2", "DUPONT3", etc. en bleu, les "DUPRES1", "DUPRES2", etc. en rouge) et ne pas avoir à rentrer manuellement la plage?
Voici la macro:
Sub MarqueLesDoublons()
Dim Plage As Range, i&, Cell As Range, Rng As Range
On Error Resume Next
Set Plage = Application.InputBox("Plage à examiner", Type:=8)
If IsEmpty(Plage) Then Exit Sub
Application.ScreenUpdating = False
For Each Cell In Plage
For i = 1 To Plage.Count
Set Rng = Cell.Offset(i)
If Rng <> "" And Rng = Cell Then
Cell.Interior.ColorIndex = 43
Rng.Interior.ColorIndex = 43
Exit For
End If
Next i
Next Cell
End Sub
Je vous joint ci-dessous une partie de mon fichier excel, j'ai enlever une grande partie de mes colonnes et le nom et le prénom des utilisateurs pour une question de confidentialité...
https://www.cjoint.com/?AIBchF9W2Qd
Merci par avance