Faire un tri alphabétique sans VBA entre plusieurs colonnes

  • Initiateur de la discussion Initiateur de la discussion capc93
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

Dernière édition:
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?
 
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:
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

Dernière édition:
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 ?
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour