Private Sub Command1_Click() CommonDialog1.ShowOpen Open CommonDialog1.FileName For Input As #2 Input #2, Txt Input #2, Txt m = 0 ReDim A(0 To 300) Do While Not EOF(2) Input #2, A(m) m = m + 1 Loop n = m - 1 Close #2 End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrivate Sub Command1_Click() addtolist 10 addtolist 2 addtolist 5 addtolist 4 addtolist 6 addtolist 6 addtolist 7 addtolist 9 addtolist 8 addtolist 6 addtolist 1 addtolist 3 End Sub Sub addtolist(num As Long) 'si la liste n'est pas vide If List1.ListCount > 0 Then 'on la parcour dim i as Long For i = 0 To List1.ListCount - 1 If List1.List(i) >= num Then List1.AddItem num, i 'après l'ajout on quitte Exit Sub End If Next Else 'si liste vide on ajoute directement List1.AddItem num End If End Sub
Option Explicit Private Sub Command1_Click() CommonDialog1.ShowOpen Open CommonDialog1.FileName For Input As #2 'chargement du fichier txt Input #2, Txt 'il n'ya rien sur les 2 premières lignes Input #2, Txt m = 0 'initialisation du compteur ReDim A(0 To 300) Do While Not EOF(2) Input #2, A(m) 'lecture à partir du fichier txt List1.AddItem A(m) 'écriture sur la listbox des données lues dans l'ordre de lecture m = m + 1 Loop n = m - 1 For m = 0 To n 'utilisation de la fonction addtolist....ça démarre bien 'mais ça finit par remettre les mêmes nombres addtolist A(m) Next Close #2 End Sub Sub addtolist(num As Long) 'si la liste n'est pas vide If List1.ListCount > 0 Then 'on la parcour Dim i As Long For i = 0 To List1.ListCount - 1 If List1.List(i) >= num Then List1.AddItem num, i 'après l'ajout on quitte Exit Sub End If Next Else 'si liste vide on ajoute directement List1.AddItem num End If End Sub
'Déclarations dans un module Public m As Long, n As Long, A() As Long, Txt As String Option Explicit Private Sub Command1_Click() CommonDialog1.ShowOpen Open CommonDialog1.FileName For Input As #2 'chargement du fichier txt Input #2, Txt 'il n'ya rien sur les 2 premières lignes Input #2, Txt m = 0 'initialisation du compteur ReDim A(0 To 300) Do While Not EOF(2) Input #2, A(m) 'lecture du fichier txt (dans lequel il n'y a qu'une seule colonne de nombres) m = m + 1 Loop n = m - 1 Close #2 QSort A(), 0, n 'tri du tableau qui vient d'être saisie plus haut For m = 0 To n List1.AddItem A(m) 'affichage du tableau trié Next m End Sub Sub QSort(t() As Long, Deb As Long, Fin As Long) 'TRI QUICKSORT RECURSSIF (TRI RAPIDE) 'Déclaration des variables Dim i As Long 'indice Dim j As Long 'indice Dim X As Long 'valeur pivot Dim Temp As Long 'Valeur temporaire 'Algo Tri i = Deb 'sauve le début j = Fin 'sauve la fin X = t((i + j) \ 2) 'valeur pivot Do Do While t(i) < X: i = i + 1: Loop 'recherche par la bas Do While t(j) > X: j = j - 1: Loop 'recherche par le haut If i <= j Then Temp = t(i) 'inversion t(i) et t(j) t(i) = t(j) t(j) = Temp i = i + 1 'Passe au suivant j = j - 1 End If Loop Until i > j If j > Deb Then QSort t(), Deb, j 'trie par le bas If i < Fin Then QSort t(), i, Fin 'trie par le haut End Sub