J'ai tenté une boucle sur toutes les données de la colonne 1
avec des conditions et là je n'y arrive pas d'ou ma demande ici
tu as posé ta question en VB net . Est-ce bien cela ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionFor n = 1 To UBound(Tablo, 1) -1 If Tablo(n, 1) < > Tablo(n - 1, 1) And Tablo(n, 1) < > Tablo(n + 1, 1) Then Tablo(n, 4) = 1 End if If Tablo(n, 1) = Tablo(n - 1, 1) Or Tablo(n, 1) = Tablo(n + 1, 1) Then Tablo(n, 4) = 2 End if Next
Dim toto(5, 1)
toto(0, 0) = "a"
toto(1, 0) = "b"
toto(2, 0) = "c"
toto(3, 0) = "b"
toto(4, 0) = "b"
titi = toto
For i = 0 To 5
If titi(i, 0) <> "" Then
toto(i, 1) = 1
For j = i + 1 To 5
If titi(j, 0) = titi(i, 0) Then
toto(i, 1) = toto(i, 1) + 1
titi(j, 0) = ""
End If
Next
End If
Next
' ce qui suit n'est que pour visualiser le résultat
For i = 0 To 5
If toto(i, 1) = "" Then Exit For
MsgBox toto(i, 0) & " ====>>> " & toto(i, 1)
Next
' n'est là que pour se constituer un tableau/exemple _________
Dim toto(11, 4) ' |
toto(0, 0) = 4: toto(0, 1) = 188: toto(0, 2) = 193 ' |
toto(1, 0) = 5: toto(1, 1) = 188: toto(1, 2) = 193 ' |
toto(2, 0) = 6: toto(2, 1) = 187: toto(2, 2) = 193 ' |
toto(3, 0) = 7: toto(3, 1) = 101: toto(3, 2) = 116 ' |
toto(4, 0) = 8: toto(4, 1) = 93: toto(4, 2) = 124 ' |
toto(5, 0) = 8: toto(5, 1) = 185: toto(5, 2) = 193 ' |
toto(6, 0) = 9: toto(6, 1) = 90: toto(6, 2) = 127 ' |
toto(7, 0) = 9: toto(7, 1) = 184: toto(7, 2) = 193 ' |
toto(8, 0) = 10: toto(8, 1) = 85: toto(8, 2) = 131 ' |
toto(9, 0) = 11: toto(9, 1) = 83: toto(9, 2) = 133 ' |
toto(10, 0) = 11: toto(10, 1) = 183: toto(10, 2) = 192 ' |
toto(11, 0) = 11: toto(11, 1) = 80: toto(11, 2) = 137 ' |
'--------------------------------------------------------------
titi = toto
For i = 0 To UBound(toto)
If titi(i, 0) <> "" Then
toto(i, 4) = 1
For j = i + 1 To UBound(toto)
If titi(j, 0) = titi(i, 0) Then
toto(i, 4) = toto(i, 4) + 1
titi(j, 0) = ""
End If
Next
End If
Next
For i = 0 To UBound(toto)
For j = i + 1 To UBound(toto)
If toto(j, 0) = toto(i, 0) Then toto(j, 4) = toto(i, 4)
Next
Next
' ============ce qui suit n'est là que pour te permettre de visualiser le résultat
For i = 0 To UBound(toto)
MsgBox toto(i, 0) & " ====>>> " & toto(i, 4)
Next
Dim toto(12)() As Integer toto(0) = {4, 188, 193} toto(2) = {5, 188, 193} toto(4) = {6, 187, 193} toto(6) = {7, 101, 116} toto(8) = {7, 186, 193} toto(10) = {8, 93, 124} toto(12) = {8, 185, 193} toto(1) = {9, 90, 127} toto(3) = {9, 184, 193} toto(5) = {9, 85, 131} toto(7) = {10, 184, 192} toto(9) = {11, 83, 133} toto(11) = {11, 183, 192} Dim tutu()() As Integer = ( From t In toto Let c = toto.Select(Function(tt) tt(0)).Count(Function(ttt) ttt = t(0)) Select {t(0), t(1), t(2), c}).ToArray()
Mais alors : il lui faudrait changer tout et ne plus partir d'un tableau normal, mais d'un tableau de tableaux.
Public Class Form1
Private colonne1(0 To 11) As Integer, colonne2(0 To 11) As Integer, colonne3(0 To 11) As Integer, colonne4(0 To 11) As Integer
Private index As Integer
Private chaine As String
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
colonne1(0) = 4 : colonne2(0) = 188 : colonne3(0) = 193 : colonne4(0) = 0
colonne1(1) = 5 : colonne2(1) = 188 : colonne3(1) = 193 : colonne4(1) = 0
colonne1(2) = 6 : colonne2(2) = 101 : colonne3(2) = 193 : colonne4(2) = 0
colonne1(3) = 7 : colonne2(3) = 93 : colonne3(3) = 116 : colonne4(3) = 0
colonne1(4) = 8 : colonne2(4) = 185 : colonne3(4) = 124 : colonne4(4) = 0
colonne1(5) = 8 : colonne2(5) = 90 : colonne3(5) = 193 : colonne4(5) = 0
colonne1(6) = 9 : colonne2(6) = 184 : colonne3(6) = 127 : colonne4(6) = 0
colonne1(7) = 9 : colonne2(7) = 85 : colonne3(7) = 193 : colonne4(7) = 0
colonne1(8) = 10 : colonne2(8) = 83 : colonne3(8) = 131 : colonne4(8) = 0
colonne1(9) = 11 : colonne2(9) = 183 : colonne3(9) = 133 : colonne4(9) = 0
colonne1(10) = 11 : colonne2(10) = 80 : colonne3(10) = 192 : colonne4(10) = 0
colonne1(11) = 11 : colonne2(11) = 188 : colonne3(11) = 137 : colonne4(11) = 0
colonne4(0) = colonne4(0) + 1
index = 0
For i = 1 To 11
If colonne1(i) = colonne1(i - 1) Then
colonne4(index) = colonne4(index) + 1
Else
index = i
colonne4(index) = colonne4(index) + 1
End If
Next
For i = 0 To 11
If colonne4(i) = 0 Then
colonne4(i) = colonne4(i - 1)
End If
Next
ListBox1.Items.Clear()
For i = 0 To 11
ListBox1.Items.Add(colonne1(i).ToString & " - " & colonne2(i).ToString & " - " & colonne3(i).ToString & " - " & colonne4(i).ToString)
Next
End Sub
End Class
For i = 0 To UBound(toto)
For j = i To UBound(toto)
If toto(j, 0) = toto(i, 0) Then
If toto(j, 4) < 1 Then
toto(i, 4) = toto(i, 4) + 1
Else
toto(j, 4) = 1
End If
End If
Next
Next
For i = 0 To UBound(toto)
For j = i + 1 To UBound(toto)
If toto(j, 0) = toto(i, 0) Then toto(j, 4) = toto(i, 4)
Next
Next