Tri par ordre alphabétique au sein d'une même cellule

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

eramond

XLDnaute Junior
Bonjour

Je souhaite trier le contenue d'une cellule par ordre alphabétique, est ce possible?

Exemple si C2 contient:
Thierry
Bernard

Après la macro

C2 =
Bernard
Thierry


Merci
 
Dernière édition:
Re : Tri par ordre alphabétique au sein d'une même cellule

J'ai fait quelque test et trouvé des bogues. Remplacez tout le code de Module2 par ça :
VB:
Option Explicit

Sub Test()
Application.ScreenUpdating = False
Dim WsS As Worksheet, WsC As Worksheet, TDévia(), Ld&, TWorkon(), Lw&, TRésu()
' Dim Te(1 To 500) As String, Le As Long  ' Variables globales module. Inutilisés ici
Set WsS = Worksheets("Workon")
Set WsC = Worksheets("Data-Deviations")
TDévia = WsC.Range("AG2:AG" & WsC.Range("AG" & Rows.Count).End(xlUp).Row).Value
ReDim TRésu(1 To UBound(TDévia), 1 To 1)
TWorkon = WsS.Range("S2:T" & WsS.Range("S" & Rows.Count).End(xlUp).Row).Value
For Ld = 1 To UBound(TDévia)
   For Lw = 1 To UBound(TWorkon)
      If InStr(TDévia(Ld, 1), TWorkon(Lw, 1)) > 0 Then Ajouter TWorkon(Lw, 2)
      Next Lw
   TRésu(Ld, 1) = RésultatCellClassé: Next Ld
WsC.[AI2].Resize(UBound(TRésu)).Value = TRésu
' Application.ScreenUpdating = True ' N'apporte rien :  Assumé après exécution
' Application.Calculation = xlAutomatic ' Il n'a pas été mis XlManual que je sache.
End Sub

Et dans RésultatCellClassé ajoutez devant le Redim qui plante :
VB:
If Le = 0 Then RésultatCellClassé = "*Aucune correspondance*": Exit Function
Les bogues étaient :
1) - Erreur à Wsc.[AI2]: le 2 était oublié.
2) - Le cas où rien n'a été empilé par Ajouter n'était pas traité.
 
Dernière édition:
Re : Tri par ordre alphabétique au sein d'une même cellule

Non, non. Ce sont des propriété de l'objet TableIndex. Il faut .Init 1, Le et non 0 en fait. Je rejoins le contenu de module 12 :
VB:
Option Explicit
Dim Te(1 To 500) As String, Le As Long  ' Variables globales module

Sub Ajouter(ByVal Z As String)
Le = Le + 1: Te(Le) = Z
End Sub

Function RésultatCellClassé() As String
Dim Ts() As String, Ls&, Texte As String ' Variables locales (volatiles)
If Le = 0 Then RésultatCellClassé = "*Aucune correspondance*": Exit Function
ReDim Ts(0 To Le - 1): Ls = -1
With New TableIndex
   .Init 1, Le: While .Actif: .BInfA = Te(.B) < Te(.A): Wend
   Texte = ""
   .Parcourir: While .Actif: Le = .Suivant
      If Te(Le) <> Texte Then Texte = Te(Le): Ls = Ls + 1: Ts(Ls) = Texte
      Wend: End With
ReDim Preserve Ts(0 To Ls)
RésultatCellClassé = Join(Ts, vbLf)
Le = 0
End Function
Ça devrait enfin avoir de bonnes chances de tourner. Chez moi ça marche. Je trouve ça :
[TABLE="class: grid, width: 500"]
[TR]
[TD="align: left"]Potential deviation[/TD]
[/TR]
[TR]
[TD="align: left"]*Aucune correspondance*[/TD]
[/TR]
[TR]
[TD="align: left"]Drilling_Holes_elongated
Drilling_issue
[/TD]
[/TR]
[TR]
[TD="align: left"]Drilling_Holes_position[/TD]
[/TR]
[TR]
[TD="align: left"]*Aucune correspondance*[/TD]
[/TR]
[TR]
[TD="align: left"]Drilling_Oversize
Drilling_issue[/TD]
[/TR]
[/TABLE]
 
Re : Tri par ordre alphabétique au sein d'une même cellule

Puis je avoir votre fichier ?

Cela ne fonctionne pas, je suis trop nul ce n'est pas possible


Cela fonctionne merci c'est incroyable merci beaucoup

Je teste avec beaucoup de ligne tout de suite.
 
Dernière édition:
- 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

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
284
  • Question Question
Microsoft 365 tri dans Excell
Réponses
19
Affichages
614
Réponses
4
Affichages
317
  • Question Question
Power Query tri powerquery
Réponses
9
Affichages
988
Réponses
17
Affichages
261
Réponses
6
Affichages
231
Réponses
7
Affichages
165
Retour