Contenu de plusieurs cellules dans 1 cellule sous conditions

Bonjour le forum,

Je cherche à copier le contenu de ma page RANKING sous forme de matrice dans ma page Matrix.

Dans la feuille RANKING, j'ai un classement en 8 groupes. Par exemple, les valeurs de la colonne du groupe 1 dans se trouver dans la cellule 1x1 de la feuille Matrix.

Groupe 1 --> Cellule 1x1 de la matrice

Groupe 2 --> Cellule 2x1 de la matrice

etc ...

Petite difficulté, pour l'exemple, je vous ai mis seulement 5 valeurs mais la liste peut être variable. Par exemple, on peut retrouver 20 valeurs dans le groupe 1, 2 dans le groupe 2 et 17 dans le groupe 3.

Les plages "sources" sont variables, mais la matrice doit rester fixe.

Je vous ai mis un petit exemple en PJ.

Merci pour l'aide que vous pourrez m'apporter.

Bon après-midi,

Cdlt,

Floo73

Bonjour

Code Module associé au bouton

Sub Test()
Dim Cel As Range
Application.ScreenUpdating = False
    Sheets("Matrix").Activate
    Range("B2").Select
    ActiveWorkbook.Names.Add Name:="Groupe1", RefersToR1C1:="=Matrix!R2C2"
    Range("C2").Select
    ActiveWorkbook.Names.Add Name:="Groupe2", RefersToR1C1:="=Matrix!R2C3"
    Range("D2").Select
    ActiveWorkbook.Names.Add Name:="Groupe3", RefersToR1C1:="=Matrix!R2C4"
    Range("B3").Select
    ActiveWorkbook.Names.Add Name:="Groupe4", RefersToR1C1:="=Matrix!R3C2"
    Range("C3").Select
    ActiveWorkbook.Names.Add Name:="Groupe5", RefersToR1C1:="=Matrix!R3C3"
    Range("D3").Select
    ActiveWorkbook.Names.Add Name:="Groupe6", RefersToR1C1:="=Matrix!R3C4"
    Range("B4").Select
    ActiveWorkbook.Names.Add Name:="Groupe7", RefersToR1C1:="=Matrix!R4C2"
    Range("C4").Select
    ActiveWorkbook.Names.Add Name:="Groupe8", RefersToR1C1:="=Matrix!R4C3"
    Range("D4").Select
    ActiveWorkbook.Names.Add Name:="Groupe9", RefersToR1C1:="=Matrix!R4C4"

    Sheets("RANKING").Activate

For i = 0 To 8
Range("A2:A25").Offset(0, i).Select
j = Application.CountA(Selection)
With Sheets("Matrix").Range("Groupe" & i + 1)
       .ClearContents
            For Each Cel In Selection
                If Cel <> "" Then
                    .Value = .Value & Cel.Value & Chr(10)
                  Else: Exit For
                End If
            Next Cel
    End With
Next i
Range("A1").Select
End Sub

Cordialement

Bonjour Amadéus,

Merci beaucoup pour votre aide, ca marche du tonnerre !

Bonne fin d'après-midi,

Cdlt,

Floo73

Bonjour Amadeus,

Juste pour être optimal, je n'arrive pas à copier mes valeurs dans les cases que je veux dans la matrice.

Par exemple, je voudrais que le groupe 1 aille se copier dans la cellule en bas à gauche de la matrice (Soit la cellule B4).

Est-ce que tu as le temps de m'expliquer celà ?

Bonne journée,

Floo73


C'est tout bon, j'ai trouvé

Bonne journée,

Floo73

Bonjour

Dans le code, j'ai nommé les différentes cellule de la matrice pour y transférer les informations de la feuille RANKING avec comme instruction pour la cellule

Range("B2").Select
    ActiveWorkbook.Names.Add Name:="Groupe1", RefersToR1C1:="=Matrix!R2C2"

en clair "Nomme Groupe1 la cellule en ligne2, colonne2" (R2C2)

Tu as donc en début de la macro 9 instructions de ce type pour nommer les cellules de Groupe1 à Groupe9

ainsi, sur le code la cellule B4 est nommée Groupe7 avec cette ligne

Range("B4").Select
    ActiveWorkbook.Names.Add Name:="Groupe7", RefersToR1C1:="=Matrix!R4C2"

soit R4C2 >> ligne 4, colonne 2

Facile, non?

Le plus simple est dans ces ligne de Code de remplacer le numéro du groupe selon ton désir d'organisation de la matrice

en remplaçant le 7 par 1 sur la ligne de code précédente, le Groupe1 se retrouve à la place du 7 actuel.

Cordialement

Rechercher des sujets similaires à "contenu conditions"