Concaténer nom colonnes avec condition

Bonsoir,

Je cherche un moyen (je pense que VBA sera la manière la plus simple?) de concaténer le nom des colonnes sous lesquelles est écrit "1" pour chaque ligne.

C'est faisable avec une formule du type:

=CONCATENER((SI(D2=1;$D$1&"; ";));(SI(E2=1;$E$1&"; ";)... ... ...))

mais cela est fastidieux et mon nombre de colonne devrait augmenter...

Ce devrait être plus clair avec le fichier joint.

Merci d'avance!

Bonne soirée

Sarah

Salut,

Une proposition en annexe.

Cordialement.

Salut Sarahv,

Salut Yvouille,

La macro démarre sur un changement de valeur de ton tableau.

J'ai compris que la valeur MAX devait être 1 dans chaque colonne où intervenait le sujet.

Private Sub Worksheet_Change(ByVal Target As Range)
'
Dim iRow%, iRowA%, sItem$
'
iRowA = Range("A" & Rows.Count).End(xlUp).Row
If Not Intersect(Target, Range("C2:P" & iRowA)) Is Nothing Then
    iRow = Target.Row
    For x = 3 To 16
        If Cells(iRow, x) <> "" And WorksheetFunction.Max(Range(Chr(64 + x) & "2:" & Chr(64 + x) & iRowA)) = 1 Then _
            sItem = sItem & IIf(sItem = "", "", "; ") & Cells(1, x)
    Next
    Cells(iRow, 2) = sItem
End If
'
End Sub

A+

9sarahv.xlsm (16.18 Ko)

Salut tout le monde,

désolé pour ceux qui ont pris la peine de télécharger le fichier mais je me suis sûrement trompé!

Je m'étais basé sur une interprétation du français alors que j'aurais dû interpréter la formule!

Correction, donc, même principe : pas de traitement global mais au coup par coup lors d'un changement de valeur dans le tableau.

Espérons, enfin...

Private Sub Worksheet_Change(ByVal Target As Range)
'
Dim iRow%, iRowA%, iCol%, sItem$
'
iRowA = Range("A" & Rows.Count).End(xlUp).Row
iCol = Cells(1, Columns.Count).End(xlToLeft).Column
'
If Not Intersect(Target, Range("C2").Resize(iRowA - 1, iCol - 2)) Is Nothing Then
    iRow = Target.Row
    For x = 3 To iCol
        sItem = sItem & IIf(CInt(Cells(iRow, x)) = 1, IIf(sItem = "", "", "; ") & Cells(1, x), "")
    Next
    Cells(iRow, 2) = sItem
End If
'
End Sub

A+

9sarahv.xlsm (20.97 Ko)

Merci pour vos réponses, c'est parfait !

Rechercher des sujets similaires à "concatener nom colonnes condition"