Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionDim m As Integer, n As Integer Dim i As Integer, j As Integer Dim tbl() As Integer Dim ValMax As Integer Private Sub Form_Load() Dim temp As String Dim u As Integer ' Dimension du tableau de sortie m = 4 n = 6 ' Valeur max ValMax = m * n ReDim tbl(ValMax) i = 0 ' Valeur de départ u = 0 ' Pour la boucle Do While i < ValMax Escargot u u = u + 1 Loop ' Mise en forme pour la msgbox For j = 1 To ValMax temp = temp & Format$(tbl(j), "00") & " "If j Mod n 0 Then temp temp & vbCrLf Next MsgBox temp End Sub Sub Escargot(p As Integer) 'ligne gauche -> droite If Calcul(n * p + p + 1, n * (p + 1) - p, 1) Then Exit Sub 'colonne haut -> bas If Calcul(n * (p + 2) - p, (m - p) * n - p, n) Then Exit Sub ' Ligne droite -> gauche If Calcul((m - p) * n - (p + 1), (m - (p + 1)) * n + p + 1, -1) Then Exit Sub 'Colonne bas -> haut If Calcul(n * (m - (p + 2)) + p + 1, (n * p + 1) + p + 1, -n) Then Exit Sub End Sub Function Calcul(deb As String, fin As String, pas As Integer) As Boolean For j deb To fin Step pas: i i + 1: tbl(j) = i: Next Calcul = (i >= ValMax) End Function