Bonjour,
Quand je reçois de l'aide j'aime comprendre, bidouiller, m'approprier la chose afin de l'exploiter et pourvoir la modifier si besoin.
'Puisque la fonction n'existe pas, il faut la créer : fonction personnelle
Function compileX(titres As Range, Plage_X As Range) As String
'titres = plage des valeurs à récupérer
'Plage_X= plage contenant les X
Dim I As Long, Resultat As String
'Déclaration des variables
For I = 1 To titres.Columns.Count
'boucle sur toutes les cellules(colonnes)de la plage titres
If UCase(Plage_X(1, I)) = UCase("x") Then
'si la cellule contient un X (majuscule où minuscule, d'où le UCase)
If Resultat = "" Then
'si c'est le premier résultat
Resultat = titres(1, I)
'alors le résultat est la valeur de la cellule de la plage titres
Else
'sinon
Resultat = Resultat & " / " & titres(1, I)
'on prend le résultat précédent, on rajoute un / et la valeur du titre
End If
'fin de la condtion de Rsultat
End If
'fin de la condition du X
Next I
'prochaine cellule(colonne) de la plage titres
compileX = Resultat
'résultat de la formule
End Function
'Le code est à placer dans un module standard
'La fonction s'utilise comme une formule standard
'En H2: =compileX($A$1:$F$1;A2:F2); à tirer vers le bas
'Le classeur doit être enregistré en .xlsm (prise en charge des macros)
@78chris: Je ne suis pas parvenu à exploiter ta formule,
Effectivement CONCAT est récent également
J'ai bien tenté:
Mais je n'arrive pas à trouver le bon résultat....
Cordialement,