Rassembler des cellules en une même colonne

Bonjour à tous,

Après de nombreuses recherches, je ne parviens pas à trouver une solution à mon problème ce pourquoi je fais appel à votre sciences.

J'ai créé un tableau Excel qui propose des listes déroulantes conditionnelles (jusque là, pas de problème).

Mon deuxième objectif est de pouvoir rassembler plusieurs cases ayant subit le même choix dans une même colonne.

Ex:

Couleurs de cheveux: roux, brun, blond.

Personnes : Julien, Julie, Hugo...

Si Julien possède la même couleur de cheveux que Julie, il doivent être placé dans la même colonne d'une autre feuille.

En vous remerciant d'avance.

Bonjour, si toutes fois vous n'avez pas de réponses, vous pouvez lire cet article qui ne pourras que vous aider.

Cordialement

https://forum.excel-pratique.com/annonces/explications-et-regles-a-respecter-t13.html

Merci, je regarde ça de suite.

Bonjour. Bienvenue sur le Forum

Pourquoi joindre un fichier :

Sur la charte du Forum

https://forum.excel-pratique.com/annonces/explications-et-regles-a-respecter-t13.html

Point 6 : • Pensez à joindre un fichier pour faciliter la compréhension du problème et augmenter les chances de vous faire aider (taille limite : 300ko, n'hésitez pas à compresser vos fichiers).

Cordialement

Re,

Voici le fichier exemple:

Merci Amadéus (je suis novice en matière de forum)

Oui merci Amadéus...Moi je vais allez me faire foutre ailleurs !

Bonjour

Réponse dans le fichier joint

Cordialement

Mille excuses Force Rouge. Je te remercie également.


Merci Amadéus pour la réponse. Je fais en sorte de tester ça ce soir.

Cordialement

Re,

Je tenais tout simplement à te remercier Amadéus. C'est tout simplement extraordinaire puisque ça fonctionne très bien.

Bonne soirée.

Salut la compagnie,

Je reviens vers vous, mais également vers Amadéus.

Dans la fonction que tu as créée, j'ai un petit problème... Lorsque deux personnes possèdent le même nom, il n'est repris qu'une seule fois... Comment modifier la formule pour que les mêmes noms apparaissent autant de fois qu'ils sont présents dans la liste de départ?

Merci d'avance.

Bonjour

Dans le fichier, il y a bien 2 personnes A et elles sont aussi dans les tableaux?

Cordialement

Re,

Bonsoir Lunatic, Force rouge, Amadéus, le forum

Une solution VBA, pas eu le temps de vraiment tester :

Option Explicit
Sub test()
Dim a, b(), i As Long, maxRow As Long, j As Long, w()
    a = Sheets("Feuil1").Range("a1").CurrentRegion.Value
    ReDim b(1 To UBound(a, 1), 1 To 1)
    With CreateObject("Scripting.Dictionary")
        .CompareMode = 1
        For i = 2 To UBound(a, 1)
            If Not .exists(a(i, 3)) Then
                j = j + 1
                If j > UBound(b, 2) Then
                    ReDim Preserve b(1 To UBound(b, 1), 1 To j)
                End If
                b(1, j) = "Couleur des cheveux " & a(i, 3)
                .Item(a(i, 3)) = VBA.Array(1, j)
            End If
            w = .Item(a(i, 3))
            w(0) = w(0) + 1
            b(w(0), w(1)) = a(i, 2)
            maxRow = Application.Max(maxRow, w(0))
            .Item(a(i, 3)) = w
        Next
    End With
    Application.ScreenUpdating = False
    'Restitution en feuil3
    With Sheets("Feuil3")
        .Cells.Clear
        With .Range("a1").Resize(maxRow, UBound(b, 2))
            .Value = b
            .Font.Name = "calibri"
            .Font.Size = 10
            .HorizontalAlignment = xlCenter
            .VerticalAlignment = xlCenter
            .BorderAround Weight:=xlThin
            .Borders(xlInsideVertical).Weight = xlThin
            With .Rows(1)
                .Interior.ColorIndex = 42
                .BorderAround Weight:=xlThin
            End With
            .Columns.AutoFit
        End With
        .Activate
    End With
    Application.ScreenUpdating = True
End Sub

klin89

Amadéus a écrit :

Bonjour

Dans le fichier, il y a bien 2 personnes A et elles sont aussi dans les tableaux?

Cordialement

Re,

Regarde dans ce fichier, si j'ai deux Nico dans qui ont des cheveux blonds, ce prénom n'apparaît qu'une seule fois dans le regroupement des personnes au cheveux blond. Peut-on envisager une modification permettant d'obtenir les deux prénoms dans la colonnes blond du tableau de la feuille 2?

BIen à toi.

Klin 89, je te remercie mais j'ai utilisé la formule d'Amadéus dans mon fichier et je ne sais absolument pas comment utiliser le vba...

Ré,

Personne pour m'aider ?

Re,

Je m'excuse d'être insistant mais j'ai besoin d'aide

Re Lunatic,

Va falloir te mettre au VBA :

Option Explicit

Sub Rassembler()
Dim x, y, i As Long
    With Sheets("Feuil1").Range("a1").CurrentRegion
        x = Filter(.Parent.Evaluate("transpose(if(countif(offset(" & _
        .Columns(3).Address & ",0,0,row(1:" & .Rows.Count & "))," & _
        .Columns(3).Address & ")=1," & .Columns(3).Address & ",char(2)))"), Chr(2), 0)
        For i = 1 To UBound(x)
            y = Filter(.Parent.Evaluate("transpose(if(" & .Columns(3).Address & _
            "=""" & x(i) & """," & .Columns(2).Address & ",char(2)))"), Chr(2), 0)
            With .Offset(, .Columns.Count + i).Cells(1)
                .Value = "Couleur des cheveux " & x(i)
                If UBound(y) > -1 Then .Offset(1).Resize(UBound(y) + 1).Value = Application.Transpose(y)
                .Columns.AutoFit
            End With
        Next
    End With
End Sub

klin89

Rechercher des sujets similaires à "rassembler meme colonne"