Afficher le résultat d'une déduplication

zephoenix

XLDnaute Nouveau
Bonjour la communauté,

Encore une fois, j'ai besoin de vos lumières.

La pièce jointe explique plutôt bien ce que j'ai besoin, mais bien entendu je vous explique en détail mes besoins et les pistes que j'ai testé

J'ai un export d'une machine qui me fournit plusieurs listes de participants séparées par une cellule blanche.
J'ai besoin que cette cellule blanche soit remplie par le résultat d'une déduplication (peu importe le séparateur).

Par exemple j'ai une liste
A1 : à remplir
A2 : Gilles
A3 : Gilles
A4 : Paul
A5 : Jean
A6 : Jean

Dans cette exemple j'ai 5 prénoms, mais des fois j'en ai 7, 4, 10, ... et ce sur 5 à 6000 lignes :(
Seule une cellule blanche sépare ces listes (voir exemple ci-joint)

J'ai besoin que la cellule A1 affiche le résultat suivant : Gilles/Paul/Jean

J'ai bien tenté le NB.SI, le CONCATENER, mais rien n'y fait

Si l'un de vous avait la formule magique, vous n'imaginez pas le bonheur qu'il me procurera :cool:

Merci d'avance pour le temps que vous passerez sur ma requête


Un tout petit scarabée d'Excel

Zephoenix
 

Pièces jointes

  • test dedupliquer.xlsx
    10.9 KB · Affichages: 51

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Afficher le résultat d'une déduplication

Bonsoir zephoenix, JCGL :)

Un essai dans le fichier joint.

Il faut cocher la référence à Microsoft Scripting Runtime dans la liste des références.
Liste accessible par le menu Outils / Références... au sein de l'environnement VBA.

Le code (dans le module de Feuil1):
VB:
Sub unique()
Dim dico As New Scripting.Dictionary
Dim Deb As Long, i As Long
Dim Tablo, xrg As Range

  Set xrg = Range("c" & Rows.Count).End(xlUp).Offset(1)
  Set xrg = Range(Range("B2"), xrg)
  Tablo = xrg.Value
  
  dico.CompareMode = TextCompare
  Deb = 1: i = Deb + 1
  Do
    dico.RemoveAll
    Do Until Tablo(i, 1) = "Récapitulatif" Or Tablo(i, 2) = ""
      dico(Tablo(i, 2)) = ""
      i = i + 1
    Loop
    Tablo(Deb, 2) = Join(dico.Keys, "/")
    If Not Tablo(i, 1) = "Récapitulatif" Then Exit Do
    Deb = i
    i = i + 1
  Loop
  xrg = Tablo
End Sub

Edit: Bonsoir JCGL :), bonsoir Bebere :)
 

Pièces jointes

  • Afficher le résultat d'une déduplication v1.xlsm
    17.8 KB · Affichages: 45
Dernière édition:

zephoenix

XLDnaute Nouveau
Re : Afficher le résultat d'une déduplication

Bonsoir Bebere, bonsoir Mapomme

Qu'un seul mot à écrire : Extraordinaire !!!
Merci Merci Merci

Vos 2 propositions fonctionnent super bien :)
Je ne vais pas vous demander comment ça marche car je n'y connais absolument rien dans les macros, mais sincèrement vous me facilitez grave la vie.

Merci encore pour le temps passé

Bonne soirée et bon week end à vous 2 et aussi à JCGL pour sa tentative

Zephoenix
 

Discussions similaires

Statistiques des forums

Discussions
311 740
Messages
2 082 049
Membres
101 882
dernier inscrit
XaK_