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 !

E

eramond

Guest
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 modification par un modérateur:
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

merci 🙂

Visiblement le problème est ici maintenant

PHP:
.Init 0, Le: While .Actif: .BInfA = Te(.B) < Te(.A): Wend

Dois je déclarer B et A as String?
 
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 modification par un modérateur:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
646
Réponses
4
Affichages
197
  • Question Question
Microsoft 365 tri dans Excell
Réponses
19
Affichages
839
Réponses
4
Affichages
396
  • Question Question
Power Query tri powerquery
Réponses
9
Affichages
1 K
Réponses
2
Affichages
195
Retour