Sub TriAlpha(stringTab As Variant) Dim var_tampon As String For i = UBound(stringTab) To 1 Step -1 For j = 0 To i - 1 If stringTab(j) > stringTab(j + 1) Then var_tampon = stringTab(j) stringTab(j) = stringTab(j + 1) stringTab(j + 1) = var_tampon End If Next j Next i End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionvar_tampon = stringTab(j) stringTab(j) = stringTab(j + 1) stringTab(j + 1) = var_tampon
Private Sub TRIER_Click() Erase T_client_index Open "H:\Cours\OMGL\OMGL 1\tpfichiers\client_index" For Input As fichier_client_index For i = 1 To UBound(T_client_index) Line Input #fichier_client_index, enreg_clients T_client_index(i, 2) = Mid(enreg_clients, 1, 3) T_client_index(i, 1) = Mid(enreg_clients, 4) Next For i = UBound(T_client_index) To 1 Step -1 For j = 0 To i - 1 If Asc(T_client_index(j, 1)) > Asc(T_client_index(j + 1, 1)) Then var_tampon = T_client_index(j, 1) T_client_index(j, 1) = T_client_index(j + 1, 1) T_client_index(j + 1, 1) = var_tampon End If Next j Next i Close fichier_client_index End Sub
je voudrai dans un 1er temps bouger la colonne 1
If String1 > String2 Then var_tampon = T_client_index(j, 1) T_client_index(j, 1) = T_client_index(j + 1, 1) T_client_index(j + 1, 1) = var_tampon var_tampon = T_client_index(j, 2) T_client_index(j, 2) = T_client_index(j + 1, 2) T_client_index(j + 1, 2) = var_tampon End If
Utilisation des tableaux
Utilisation de tableaux multidimensionnels
For i = 1 To UBound(T_client_index) TestComp = StrComp(T_client_index(j, 1), T_client_index(j + 1, 1)) If TestComp = 1 Then var_tampon = T_client_index(j, 1) T_client_index(j, 1) = T_client_index(j + 1, 1) T_client_index(j + 1, 1) = var_tampon var_tampon = T_client_index(j, 2) T_client_index(j, 2) = T_client_index(j + 1, 2) T_client_index(j + 1, 2) = var_tampon End If Next
Dim tablo(2, 1) ' tableau exemple à 3 lines et 2 colonnes (puisque indices commençant à 0) 'remplissons-le, pour avoir un exemple à traiter tablo(0, 0) "toto": tablo(0, 1) "corr toto" tablo(1, 0) "tata": tablo(1, 1) "corr tata" tablo(2, 0) "titi": tablo(2, 1) "corr titi" ' trions-le, maintenant sur la 1ère colonne, par oirdre croissant : Dim tampon_col1 As String, tampon_col2 As String, i As Integer For i = 0 To UBound(tablo, 1) - 1 If tablo(i, 0) > tablo(i + 1, 0) Then tampon_col1 tablo(i, 0): tampon_col2 tablo(i, 1) ' je mémorise les deux ! tablo(i, 0) tablo(i + 1, 0): tablo(i, 1) tablo(i + 1, 1) 'je déplace les deux tablo(i + 1, 0) tampon_col1: tablo(i + 1, 1) tampon_col2 ' je déplace les deux End If Next i ' preuve que ton tableau a été trié sur colonne 1 et sa colonne 2 a suivi ===>> For i = 0 To UBound(tablo, 1) MsgBox "première ligne : " & tablo(i, 0) & " en sa colonne 1 et & " & tablo(i, 1) & " en sa colonne 2" Next
Private Sub TRIER_Click() Erase T_client_index Open "H:\Cours\OMGL\OMGL 1\tpfichiers\client_index" For Input As fichier_client_index For i = 1 To UBound(T_client_index) Line Input #fichier_client_index, enreg_clients T_client_index(i, 1) = Mid(enreg_clients, 4) T_client_index(i, 2) = Mid(enreg_clients, 1, 3) Next Dim tampon_col1 As String, tampon_col2 As String For i = 1 To UBound(T_client_index, 1) - 1 If T_client_index(i, 1) > T_client_index(i + 1, 1) Then tampon_col1 = T_client_index(i, 1) tampon_col2 = T_client_index(i, 2) ' je mémorise les deux ! T_client_index(i, 1) = T_client_index(i + 1, 1) T_client_index(i, 2) = T_client_index(i + 1, 2) 'je déplace les deux T_client_index(i + 1, 1) = tampon_col1 T_client_index(i + 1, 2) = tampon_col2 ' je déplace les deux End If Next For i = 1 To UBound(T_client_index) ' J'affiche dans ma fenétre Access un résultat pour voir. TEXTETRIER = TEXTETRIER & T_client_index(i, 1) & "|" & T_client_index(i, 2) & Chr(13) & Chr(10) nbrC = nbrC + 1 Next Close fichier_client_index End Sub
Private Sub BubleSortTable() Dim rowword As Integer Dim row As Integer Dim word1, word2 As String row = UBound(table, 1) - 1 For i = 0 To UBound(table, 1) - 1 For iter = 0 To row If LCase(table(iter, 0) & table(iter, 1)) > LCase(table(iter + 1, 0) & table(iter + 1, 1)) Then word1 = table(iter, 0) word2 = table(iter, 1) table(iter, 0) = table(iter + 1, 0) table(iter, 1) = table(iter + 1, 1) table(iter + 1, 0) = word1 table(iter + 1, 1) = word2 End If Next iter row = row - 1 Next i End Sub
Open "H:\Cours\OMGL\OMGL 1\tpfichiers\client_index" For Input As fichier_client_index For i = 1 To UBound(T_client_index) Line Input #fichier_client_index, enreg_clients T_client_index(i, 1) = Mid(enreg_clients, 4) T_client_index(i, 2) = Mid(enreg_clients, 1, 3) Next