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

bonbon76

XLDnaute Nouveau
Bonjour à tous

Quelqu'un porrait il m'aider à faire une formule de tri soit alphamétrique ou numérique
Je désirerais trier dans une listbox les résultats de recherche d'un classeur excel
Voiçi mon code qui se trouve dans un userform

Option Explicit
Sub RechercheMot()
Dim Mot As String, Trouvé1 As Range, Trouvé2 As Range, Reponse As String
Dim i As Byte
ListBox1.Visible = False
Mot = TextBox1.Value
If Mot = "" Then
TextBox2.Value = "Veuillez entrer une valeur "
Else
TextBox2.Value = " "
For i = 1 To Sheets.Count
Sheets(i).Select: Set Trouvé1 = Cells.Find(What:=Mot)
If Not Trouvé1 Is Nothing Then
Trouvé1.Activate
With ActiveCell.Characters(Start:=InStr(1, Selection, Left(Mot, 1), 1), Length:=Len(Mot))
Selection.Interior.ColorIndex = 4 'colorie en vert
Selection.Font.Bold = True 'met en gras
ListBox1.Visible = True
ListBox1.AddItem Trouvé1

End With
étiq:
Reponse = MsgBox("Poursuivre la recherche ?", vbYesNo) 'nécessaire aussi pour stopper la recherche
If Reponse = 6 Then 'si le bouton yes est utilisé
Selection.Interior.ColorIndex = xlNone 'Couleur d'origine
Selection.Font.Bold = False 'enlever le gras
Else 'idem plus haut si le bouton non est choisi
Selection.Interior.ColorIndex = xlNone 'Couleur d'origine
Selection.Font.Bold = False
Exit Sub 'Sortie de la réponse non
End If
Set Trouvé2 = ActiveSheet.UsedRange.FindNext(After:=ActiveCell)
If Trouvé2.Address <> Trouvé1.Address Then
Trouvé2.Activate
With ActiveCell.Characters(Start:=InStr(1, Selection, Left(Mot, 1), 1), Length:=Len(Mot))
Selection.Interior.ColorIndex = 4 'colorie en vert
Selection.Font.Bold = True 'met en gras
End With
ListBox1.Visible = True
ListBox1.AddItem Trouvé2
GoTo étiq
End If
End If
Next i
Sheets(1).Activate
Range("A1").Select
End If
End Sub
Private Sub CommandButton1_Click()
RechercheMot
End Sub
Private Sub CommandButton2_Click()
ListBox1.Clear
End Sub
Private Sub CommandButton3_Click()
End
End Sub
 
- 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
10
Affichages
799
Réponses
3
Affichages
668
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
652
Réponses
2
Affichages
515
Réponses
4
Affichages
506
Réponses
16
Affichages
1 K
Retour