Bonjour,
Alors voici un exemple simple que vous devrez adapter à vos besoin.
Option Explicit
'
Dim Limite As Double
'
Sub EcrireFichierTexte()
Dim NumFic As Integer
Dim Valeur As String
Dim Boucle As Integer
Valeur = "C:\Essai.txt"
NumFic = FreeFile
Open Valeur For Output As #NumFic
For Boucle = 9 To 1 Step -1
Write #NumFic, Boucle
Next Boucle
Close #NumFic
End Sub
'
Sub LireFichierTexte()
Dim NumFic As Integer, Message As String
Dim Valeur As String, Resultat As Integer
Dim Compteur As Double
Dim Boite() As Integer
Valeur = "C:\Essai.txt"
NumFic = FreeFile
Limite = 0
' Premier passage, connaître le nombre d'élément à lire
Open Valeur For Input As #NumFic
While Not EOF(NumFic)
Input #NumFic, Resultat
Limite = (Limite + 1)
Wend
Close #NumFic
'Second passage, effectuer la lecture
ReDim Boite(Limite) As Integer
Compteur = 0
Open Valeur For Input As #NumFic
While Not EOF(NumFic)
Input #NumFic, Resultat
Boite(Compteur) = Resultat
Compteur = (Compteur + 1)
Wend
Close #NumFic
Trier Boite, Message
MsgBox Message
End Sub
'
Function Trier(ByRef Boite() As Integer, ByRef Message As String)
Dim Boucle As Integer, ValeurTmp As Integer, Compteur As Integer
For Boucle = 0 To (Limite - 1)
For Compteur = 0 To (Limite - 1)
If (Boite(Compteur) > Boite(Compteur + 1)) Then
ValeurTmp = Boite(Compteur + 1)
Boite(Compteur + 1) = Boite(Compteur)
Boite(Compteur) = ValeurTmp
End If
Next Compteur
Next Boucle
For Boucle = 0 To Limite
Message = Message & Boite(Boucle) & vbCrLf
Next Boucle
End Function
'