Concaténer des données en ligne dans l'ordre alphabétique

Bonjour,

Je souhaite concaténer des textes de trois colonnes dans l'ordre alphabétique, pour chacune des lignes de mon tableau. Je n'ai pas encore trouvé de solution pour Calc. J'ai trouvé sur le site la fonction JOINDRE_TRI (https://www.excel-pratique.com/fr/fonctions-complementaires/joindre-tri.php) qui correspondrait bien à ma demande, mais ne fonctionne que sur Excel. Malheureusement, je ne peux travailler sur Excel qu'avec la version Online, d'où l'utilisation de Calc.

Problème à résoudre :

Des élèves qui ont fait trois choix de spécialités dans un ordre de 1 à 3. J'ai récupéré leurs voeux dans un tableur qui affiche de la façon suivante :

Elève1 | Maths | Physique | SVT

Elève2 | Physique | Maths | SVT

Elève3 | SVT | Physique | Maths

Elève4 | Maths | Physique | Art

Elève3 | Art | Littérature | Maths

L'idée est de comptabiliser le nombre d'élèves qui ont fait un choix de spécialités identique (mais parfois dans le désordre).

Par exemple, j'ai 3 élèves qui ont fait le choix de faire Maths | Physique | SVT (les élèves 1 à 3), même si le choix des options n'est pas dans le même ordre.

Pour cela je souhaite donc concaténer les options pour chaque élève, dans l'ordre alphabétique afin de faciliter le comptage par la suite des trio d'options.

Le résultat souhaité serait :

Elève1 | Maths | Physique | SVT | Maths Physique SVT

Elève2 | Physique | Maths | SVT | Maths Physique SVT

Elève3 | SVT | Physique | Maths | Maths Physique SVT

Elève4 | Maths | Physique | Art | Art Maths Physique

Elève3 | Art | Littérature | Maths | Art Littérature Maths

Merci d'avance pour votre aide !

Salut lancelaflotte,

Edit : oups, sur CALC ! ... sais pas si ce sera pareil!

un petit tri puis les formules en [E] et [G] font le travail demandé.

Double-clic sur la feuille pour lancer le tri.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'
Cancel = True
For x = 1 To 5
    Range("B" & x & ":D" & x).Sort key1:=Range("B" & x), order1:=xlAscending, Orientation:=xlLeftToRight
Next
'
End Sub

A+

29options.xlsm (15.14 Ko)

Merci curulis57 pour ta réponse. Hélas, cela ne fonctionne pas du tout pour Calc.

Et j'avoue que les macros sont une science très obscure pour ma part !

Je suis en train d'essayer de transformer les spécialités en nombre avec SI.CONDITIONS, puis d'essayer de les ranger avec MIN (en première colonne) et MAX (en troisième colonne).

J'essaie actuellement de trouver comment afficher la valeur ni maximale ni minimale d'une plage de données de 3 valeurs pour la mettre en deuxième colonne)

Ensuite, de refaire une SI.CONDITIONS pour retrouver les spécialités.

Et enfin de CONCATENER tout ça...

Je devrais normalement obtenir ce que je voudrais. J'espère...

Après réflexion, la méthode alternative que je propose ci-dessus devrait fonctionner.

Mais je ne sais pas comment extraire une valeur d'une plage de 3 données, telle qu'elle ne soit ni la valeur minimale, ni la valeur maximale...

Des astuces de ce côté-ci ?

Bonjour,

Une méthode :

94tri3choix.ods (13.01 Ko)
Rechercher des sujets similaires à "concatener donnees ligne ordre alphabetique"