Des suggestions pour transposer ces données?

Bonjour,

Je me suis retrouvé devant ce problème un peu démuni. Je pensais que ça serait facile mais je ne trouve pas vraiment de solution.

Je suis ouvert à tout, formules ou VBA.

Il y a dans la première colonne des numéros clients.

Pour chaque numéro client il peut y avoir plusieurs adresses mails.

L'objectif c'est d'arriver à ce qu'il n'y ait plus qu'une seule ligne par numéro client, avec les adresses mails en colonnes les unes à côté des autres.

30mails-lignes.xlsx (56.98 Ko)

J'ai un peu décortiqué les formules pour être compréhensible !

Pour avoir la liste unique des clients, tu peux partir d'un TCD.

17mails-lignes.xlsx (12.31 Ko)

Bonsoir le forum, Pire Nobel, Steelson,

pour ne pas changer, une solution VBA et un petit bouton pour lancer la fête!

A+

15mails-lignes.xlsm (22.45 Ko)

Bonsoir,

Une piste de plus avec un dictionnaire :

Sub Dico()

    Dim Fe As Worksheet
    Dim Plage As Range
    Dim Cel As Range
    Dim Dico As Object
    Dim Cle
    Dim I As Integer

    Set Fe = Worksheets("Sheet1")
    Set Dico = CreateObject("Scripting.Dictionary")

    With Fe: Set Plage = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)): End With

    For Each Cel In Plage: Dico(Cel.Value) = Dico(Cel.Value) & ";" & Cel.Offset(, 1).Value: Next Cel

    I = 2

    For Each Cle In Dico.keys

        Range(Cells(I, 4), Cells(I, 4 + UBound(Split(Dico(Cle), ";")))).Value = Split(Dico(Cle), ";")
        Cells(I, 4).Value = Cle

        I = I + 1

    Next Cle

End Sub
Steelson a écrit :

J'ai un peu décortiqué les formules pour être compréhensible !

Pour avoir la liste unique des clients, tu peux partir d'un TCD.

Je m'étais dit qu'utiliser INDEX et EQUIV serait une bonne solution, mais tout ça ne me vient pas naturellement du tout...

Merci beaucoup en tous cas c'est génial!


curulis57 a écrit :

Bonsoir le forum, Pire Nobel, Steelson,

pour ne pas changer, une solution VBA et un petit bouton pour lancer la fête!

A+

Et quelle fête! Je suis toujours étonné de la facilité avec lesquelles certaines personnes sortent un code comme ça sur le pouce.

Merci infiniment!

Theze a écrit :

Bonsoir,

Une piste de plus avec un dictionnaire :

Ca marche parfaitement. Merci beaucoup.

Je suis un peu dégoûté de faire un métier qui ne me donne ni le temps d'apprendre VBA comme je voudrais, ni suffisamment d'opportunités. C'est juste génial.

Rechercher des sujets similaires à "suggestions transposer donnees"