XL 2013 Tri alphabétique des lettres d'une chaîne de caractères

  • Initiateur de la discussion Initiateur de la discussion RW02
  • 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 !

RW02

XLDnaute Nouveau
Bonjour,

Je cherche une fonction personnalisée qui me permette de trier une chaîne de caractères. J'avais cela à une époque et la fonction s'appelait SortString.

En gros, si j'ai NATUREL en A1, je veux que ma fonction me donne AELNRTU en B1.

Merci d'avance pour votre aide,
Régis
 
Bonsoir,

Avec Morefunc de Laurent Longre, j'utilise :
=MCONCAT(TRANSPOSE(SIERREUR(CAR(PETITE.VALEUR(CODE(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1));LIGNE(INDIRECT("1:"&NBCAR(A1)))));"")))

ou encore :
=MCONCAT(TRIV(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1);;1))

cordialement

PS : à valider pat CTRL+MAJ+ENTER
 
Bonjour à tous,

Une fonction personnalisée SortString de mon cru.

La fonction :
  • ne distingue pas les majuscules des minuscules (sinon supprimer Ucase dans le code)
  • rejette les caractères accentués à la fin de la chaine résultat

VB:
Function SortString(x) As String
Dim i&, aux$, ech As Boolean

   If Len(x) < 2 Then
      SortString = x
   Else
      ReDim t(1 To Len(x))
      For i = 1 To Len(x): t(i) = Mid(x, i, 1): Next
      Do
         ech = False
         For i = 1 To Len(x) - 1
            If UCase(t(i)) > UCase(t(i + 1)) Then
               aux = t(i): t(i) = t(i + 1): t(i + 1) = aux: ech = True
            End If
         Next i
      Loop Until Not ech
      SortString = Join(t, "")
   End If
End Function
 

Pièces jointes

Boujour.
Une autre, peut être plus adaptée aux grandes phrases.
VB:
Function SSDranreb(ByVal Txt As String) As String
Dim TNb(1 To 255) As Integer, P&, A&
For P = 1 To Len(Txt): A = Asc(UCase$(Mid$(Txt, P, 1))): TNb(A) = TNb(A) + 1: Next P
For A = 1 To 255: SSDranreb = SSDranreb & String(TNb(A), A): Next A
End Function
 
- 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

Réponses
3
Affichages
508
Retour