Consolider les données de plusieurs colonnes dans une seule

Bonjour à tous,

je suis bloqué sur un sujet malgré mes recherches sur internet je ne trouve rien qui réponde à mon problème:

j'ai un tableau avec plusieurs modes de transports rensignés et différentes personnes mais pour des raisons "techniques", ce tableau fait apparaitre plusieurs fois le nom d'un même personne s'il utilise plusieurs mode de transport. Ainsi je peux avoir 4 colonnes "Monsieur X" s'il utilise le train, le velo et la voiture. Mon objectif est de consolider ces données pour n'avopir plus qu'une seule colonne Monsieur X avec tous les mode de transport qu'il utilise.

je mets biensur mon fichier pour être plus clair... je ne sais pas si je peux passer par une fonction décaler ou alors si une macro peut me permettre de couper coller puis suppirmer les colonnes toujours est il que je ne maitrise ni l'un ni l'autre....

si quelqu'un pouvait m'ider ce serait top!

merci pour votre aide

Bonne journée

Bonjour !

Comment apparaissent les croix ? Il y a une raison au fait d'avoir plusieurs colonnes de la même personne ?

Sans infos, ton problème n'a l'air d'être qu'un problème de mise en page

Bonjour !

Comment apparaissent les croix ? Il y a une raison au fait d'avoir plusieurs colonnes de la même personne ?

Sans infos, ton problème n'a l'air d'être qu'un problème de mise en page

Bonjour SoumZoum,

merci pour ta réponse. je compile en fait de nombreux tableaux en les copiant collant avec de nombreuses données différentes (ceci n'est que l'exemple mais mon tableaux présente quelques 5000 lignes et 350 colonnes). je ne peux donc pas travailler autrement pour compiler les données (manuellement). c'est pour cela qu'elle apparaissent sous cette forme et c'est la raison pour laquelle je cherche à la retraiter mais ne connaissant rien à Excel... je suis dans l'impasse....

Bonjour

Je pense qu'il te faut un sous tableau avec les colonnes a retraiter

Vu ta maquette j'ai transposé une extraction et utilisé nb.si.ens

Sans connaitre ni finalité ni quelques lignes du fichier de base il est difficile d'aller plus loin

Cordialement

FINDRH

Bonjour FINDRH,

et un grand merci pour ton aide!! c'est bien le résultat que je recherche mais le fichier que j'utilise étant très lourd, penses tu qu'il y ait possiblité d'en faire une macro qui fait tout ça et crééé un onglet automatiquement?

encore merci


FINDRH,

en revanche quand j'adapte la formule à mon tableau, il me met erreur #NOM; est ce que je rate une étape?

merci

Bonjour

Je pense qu'il faut adapter la formule à ton contexte que je connais pas...

Pour bien faire il faudrait nous transmettre 10 lignes anonymisées de ton fichier, avec toutes les colonnes ou éventuellement les colonnes concernées à leur place dans l'onglet ( les bonnes références de N° colonnes... du fichier de base )

Cordialement

FINDRH

FINDRH,

encore merci. Je joins ici un exemple (avec moins de lignes et de colonnes que le réél) pour que ce soir plus parlant. La premiere colonne fait état des UID (= nom par exemple). L'idée serait donc qu'une macro puisse réduire à une seule ligne ces UID en compilant tous les projets auxquels cet UID participe.

J'apprécie vraiment votre aide.

Merci


FINDRH,

entre temps je viens de comprendre que tu avais nommé une plage (modtransport2) c'est ce qui bloquait.

Bonjour,

Je vois qu'il y a déjà une solution... Je donne tout de même la mienne :

Sub Consolidation()
Dim F1, F2 As Worksheet
Dim Cel As Range, c As Range
Dim i, der_col As Integer

    Set F1 = Worksheets("Feuil1")

    Application.ScreenUpdating = False

    der_col = Range("IV1").End(xlToLeft).Column

   For Each Cel In F1.Range(Cells(1, 4), Cells(1, der_col))
   Set c = F1.Rows(1).Find(Cel, , xlValues, xlWhole)

   If Cel.Address <> c.Address Then

        Range(Cells(1, Cel.Column), Cells(15, Cel.Column)).Copy
        Range(Cells(1, c.Column), Cells(15, c.Column)).PasteSpecial Paste:=xlPasteValues, Skipblanks:=True
        Cells(1, Cel.Column).EntireColumn.Clear
   End If
Next

For i = 256 To 1 Step -1

    If Cells(65536, i).End(xlUp).Row = 1 Then Cells(1, i).EntireColumn.Delete

Next i

End Sub

Merci SoumZoum pour ta réponse mais là je dois confesser mon incompétence en VBA... je ne parviens pas à faire fonctionner le macro; je vais continuer à essayer.

Encore merci à tous pour votre aide précieue !!

Mea culpa ! C'est vrai que j'ai été un peu radin niveau explications.

En fait il fallait créer un module, un bouton sur la feuille (par exemple) et lui affecter la macro.

Tu trouveras le tout dans le fichier joint.

On peut encore améliorer le code mais déjà vois si l'idée te convient

Rechercher des sujets similaires à "consolider donnees colonnes seule"