Faire un tri alphabétique sans VBA entre plusieurs colonnes

capc93

XLDnaute Junior
Bonjour,

Je cherche à faire un tri avec des formules (sans VBA) non pas dans une colonne mais entre plusieurs colonne.
Comme vous pourrez le voir dans le fichier ci joint j'ai des valeurs de ce type dans ma 1ere colonne
Titi/Toto/Baba/Momo/Coco
Et moi je voudrais retraiter ce résultat pour avoir
Baba/Coco/Momo/Titi/Toto

Je sais séparer les valeurs, j'ai réussi à leur donner un ordre mais je ne sais pas les faire apparaître dans le bon ordre. Je cherche la façon de réussir à obtenir le résultat des cellules en jaune dans mon fichier.

Pourriez vous m'aider svp?

Je vous remercie par avance.
 

Pièces jointes

  • Tri.xlsx
    10.6 KB · Affichages: 36

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour à capc93, zebanx ;),

Une piste en prolongeant ce que vous avez commencé. La formule en P7 est à recopier vers la droite et vers le bas. Pour un problème de recherche, j'ai converti les termes en Noms Propres.
À priori, la formule fonctionne aussi s'il y a des doublons.
 

Pièces jointes

  • capc93- Tri par Formules -v1.xlsx
    13.2 KB · Affichages: 30
Dernière édition:

capc93

XLDnaute Junior
Merci à vous 2!
En fait j'avais trouvé la formule pour le faire sur une colonne mais je n'arrivais pas à l'adapter sur plusieurs colonnes.
Par contre je ne comprends pas pourquoi mapomme a ajouté la fonction nompropre: pourriez vous m'expliquer pourquoi?
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Par contre je ne comprends pas pourquoi mapomme a ajouté la fonction nompropre: pourriez vous m'expliquer pourquoi?

Si ma formule gère les doublons, elle ne les gère pas parfaitement. En cas de doublons, la formule ira toujours extraire le premier. Si vous avez des doublons qui sont écrits différemment (majuscule / minuscule) la formule ira toujours extraire le premier. Passer en mode NomPropre gomme cette différence d'écriture (voir les exemples avec "titi" et ses variantes dans le fichier)
 
Dernière édition:

CISCO

XLDnaute Barbatruc
Bonjour à tous

Pour le fun, en pièce jointe, une solution sans aucune colonne intermédiaire.

Le principe :
* On sépare chaque prénom, ce qui donne noms1, noms2, noms3, noms4 et noms5.
* On fait correspondre à chacun de ces prénoms un code (codenoms1, codenoms2...) en utilisant le fait que CODE("A")-64=1, CODE("B")-64=2 et ainsi de suite.
* Ces codes placés les uns après les autres donnent Subcodedésordre
*
On place ces codes dans l'ordre croissant, ce qui donne Subcodeordre
* Et avec une dernière formule, on remplace les codes par les prénoms correspondant.

En pièce jointe, le fichier tri présente le résultat brut en deux colonnes. Le fichier tribis montre chaque étape du calcul, la colonne A, noms1, noms2 et ainsi de suite. Les formules donnant les prénoms sont compliquées pour être facilement transformables (Il ni y a que 3 chiffres différents entre noms2 et noms3...) mais on peut faire de bien d'autres manières. Toutes les formules dépendent en réalité de la colonne A uniquement.

Bien sûr, c'est tiré par les cheveux, et pas très polyvalent :
* Il faut 5 prénoms dans la cellule de la colonne A, pas moins, pas plus,
* et le tri n'est fait qu'avec les 6 premières lettres des prénoms. Ainsi, par exemple, le résultat ne sera pas correct s'il y a les prénoms Francis et Francine dans la cellule de la colonne A.

On peut modifier la méthode pour prendre en charge plus de prénoms dans la cellule, plus de lettres aussi, mais bon, cela va donner des formules kilométriques (déjà que...).

@ plus

 

Pièces jointes

  • Tri.xlsx
    15.3 KB · Affichages: 24
  • Tribis.xlsx
    18.1 KB · Affichages: 18
Dernière édition:

capc93

XLDnaute Junior
Alors justement cisco j'allais revenir sur le forum parce que les solutions proposées fonctionnent bien quand j'ai 5 éléments séparés... sauf que je peux me retrouver dans ses situations telles que les suivantes

Momo/Coconut
Baba/Picsou/Balthazar/Riri/Donald
Toto

Donc je peux avoir 5 valeurs a trier ou 1 ou autres

Sauf que dans mes colonnes d'ordres ça met le bazar.
Auriez vous une idée pour gérer ça ?
 

CISCO

XLDnaute Barbatruc
Bonjour

Si on travaille avec des colonnes intermédiaires, cela n'est pas très difficile. En pièce jointe, une solution pouvant travailler avec 10 noms au max.
Dans la colonne L, il y a "".
La formule de la colonne M est matricielle, donc à valider avec Ctrl+maj+entrer.

@ plus
 

Pièces jointes

  • Triter.xlsx
    14.1 KB · Affichages: 27

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin