If i < 1 Then i = n If j < 1 Then j = n If i > n Then i = 1 If j > n Then j = 1 ...
Si i = -2, j = -3 et n= -5 que se passe-t-il ? -- chrisn mettre le bon fai, libertysurf pour me répondre
garnote
Pour être plus précis, n est un entier positif et i ainsi que j sont compris entre 0 et n+1.
Sub Exemple() n = 5 i = 0 j = 3 If i < 1 Then i = n If j < 1 Then j = n If i > n Then i = 1 If j > n Then j = 1 'Nouveau i et nouveau j : MsgBox i & " " & j End Sub
Serge
"chrisn" a écrit dans le message de news:
Bonjour,
garnote a écrit dans le message de news
If i < 1 Then i = n If j < 1 Then j = n If i > n Then i = 1 If j > n Then j = 1 ...
Si i = -2, j = -3 et n= -5 que se passe-t-il ? -- chrisn mettre le bon fai, libertysurf pour me répondre
Pour être plus précis, n est un entier positif
et i ainsi que j sont compris entre 0 et n+1.
Sub Exemple()
n = 5
i = 0
j = 3
If i < 1 Then i = n
If j < 1 Then j = n
If i > n Then i = 1
If j > n Then j = 1
'Nouveau i et nouveau j :
MsgBox i & " " & j
End Sub
Serge
"chrisn" <chrisn@freesurf.invalid> a écrit dans le message de news:
ezdwT2UXEHA.2844@TK2MSFTNGP11.phx.gbl...
Bonjour,
garnote a écrit dans le message de news
If i < 1 Then i = n
If j < 1 Then j = n
If i > n Then i = 1
If j > n Then j = 1
...
Si i = -2, j = -3 et n= -5 que se passe-t-il ?
--
chrisn
mettre le bon fai, libertysurf pour me répondre
Pour être plus précis, n est un entier positif et i ainsi que j sont compris entre 0 et n+1.
Sub Exemple() n = 5 i = 0 j = 3 If i < 1 Then i = n If j < 1 Then j = n If i > n Then i = 1 If j > n Then j = 1 'Nouveau i et nouveau j : MsgBox i & " " & j End Sub
Serge
"chrisn" a écrit dans le message de news:
Bonjour,
garnote a écrit dans le message de news
If i < 1 Then i = n If j < 1 Then j = n If i > n Then i = 1 If j > n Then j = 1 ...
Si i = -2, j = -3 et n= -5 que se passe-t-il ? -- chrisn mettre le bon fai, libertysurf pour me répondre
GD
Bonsour(®) Serge, ci-dessous code un peu plus concis mais bof.... les "IF" deviennnent des "IIF" , je gagne juste sur les "THEN" ton algorithme fait symetriquement exactement la même chose que le mien ;-))) en A1 une valeur positive entiere puis lance la macro
Sub MagikSerge() ordre = 1 + 2 * [A1].Value [B2].Resize(52, 52).Clear MsgBox "carré magique d'ordre " & ordre Application.ScreenUpdating = False debut = Application.WorksheetFunction.Ceiling(ordre / 2, 1) Range("B2").Resize(ordre, ordre).Interior.Color = vbYellow x = 2 + debut y = 1 + debut Cells(x, y) = 1 For i = 2 To ordre ^ 2 x = IIf(x + 1 > (ordre + 1), 2, x + 1) y = IIf(y + 1 > (ordre + 1), 2, y + 1) If Cells(x, y) > 0 Then x = x + 1: y = y - 1 y = IIf(y < 2, ordre + 1, y) x = IIf(x > (ordre + 1), 2, x) Cells(x, y) = i Next Application.ScreenUpdating = True End Sub
;-))) @+
Bonsour(®) Serge,
ci-dessous code un peu plus concis mais bof....
les "IF" deviennnent des "IIF" , je gagne juste sur les "THEN"
ton algorithme fait symetriquement exactement la même chose que le mien
;-)))
en A1 une valeur positive entiere puis lance la macro
Sub MagikSerge()
ordre = 1 + 2 * [A1].Value
[B2].Resize(52, 52).Clear
MsgBox "carré magique d'ordre " & ordre
Application.ScreenUpdating = False
debut = Application.WorksheetFunction.Ceiling(ordre / 2, 1)
Range("B2").Resize(ordre, ordre).Interior.Color = vbYellow
x = 2 + debut
y = 1 + debut
Cells(x, y) = 1
For i = 2 To ordre ^ 2
x = IIf(x + 1 > (ordre + 1), 2, x + 1)
y = IIf(y + 1 > (ordre + 1), 2, y + 1)
If Cells(x, y) > 0 Then x = x + 1: y = y - 1
y = IIf(y < 2, ordre + 1, y)
x = IIf(x > (ordre + 1), 2, x)
Cells(x, y) = i
Next
Application.ScreenUpdating = True
End Sub
Bonsour(®) Serge, ci-dessous code un peu plus concis mais bof.... les "IF" deviennnent des "IIF" , je gagne juste sur les "THEN" ton algorithme fait symetriquement exactement la même chose que le mien ;-))) en A1 une valeur positive entiere puis lance la macro
Sub MagikSerge() ordre = 1 + 2 * [A1].Value [B2].Resize(52, 52).Clear MsgBox "carré magique d'ordre " & ordre Application.ScreenUpdating = False debut = Application.WorksheetFunction.Ceiling(ordre / 2, 1) Range("B2").Resize(ordre, ordre).Interior.Color = vbYellow x = 2 + debut y = 1 + debut Cells(x, y) = 1 For i = 2 To ordre ^ 2 x = IIf(x + 1 > (ordre + 1), 2, x + 1) y = IIf(y + 1 > (ordre + 1), 2, y + 1) If Cells(x, y) > 0 Then x = x + 1: y = y - 1 y = IIf(y < 2, ordre + 1, y) x = IIf(x > (ordre + 1), 2, x) Cells(x, y) = i Next Application.ScreenUpdating = True End Sub
;-))) @+
garnote
Je préfère ton code. Et si tu voyais à quelle vitesse mon tchum peut remplir un carré magique, tu serais impressionné. Il a même déjà construit un pair devant mes propres yeux qui churent de leurs écailles :-)))
Serge
"GD" a écrit dans le message de news:
Bonsour(®) Serge, ci-dessous code un peu plus concis mais bof.... les "IF" deviennnent des "IIF" , je gagne juste sur les "THEN" ton algorithme fait symetriquement exactement la même chose que le mien ;-))) en A1 une valeur positive entiere puis lance la macro
Sub MagikSerge() ordre = 1 + 2 * [A1].Value [B2].Resize(52, 52).Clear MsgBox "carré magique d'ordre " & ordre Application.ScreenUpdating = False debut = Application.WorksheetFunction.Ceiling(ordre / 2, 1) Range("B2").Resize(ordre, ordre).Interior.Color = vbYellow x = 2 + debut y = 1 + debut Cells(x, y) = 1 For i = 2 To ordre ^ 2 x = IIf(x + 1 > (ordre + 1), 2, x + 1) y = IIf(y + 1 > (ordre + 1), 2, y + 1) If Cells(x, y) > 0 Then x = x + 1: y = y - 1 y = IIf(y < 2, ordre + 1, y) x = IIf(x > (ordre + 1), 2, x) Cells(x, y) = i Next Application.ScreenUpdating = True End Sub
;-))) @+
Je préfère ton code. Et si tu voyais à quelle vitesse mon
tchum peut remplir un carré magique, tu serais impressionné.
Il a même déjà construit un pair devant mes propres yeux qui
churent de leurs écailles :-)))
Serge
"GD" <nomail@nomail.net> a écrit dans le message de news:
OYxxAfVXEHA.2840@TK2MSFTNGP11.phx.gbl...
Bonsour(®) Serge,
ci-dessous code un peu plus concis mais bof....
les "IF" deviennnent des "IIF" , je gagne juste sur les "THEN"
ton algorithme fait symetriquement exactement la même chose que le mien
;-)))
en A1 une valeur positive entiere puis lance la macro
Sub MagikSerge()
ordre = 1 + 2 * [A1].Value
[B2].Resize(52, 52).Clear
MsgBox "carré magique d'ordre " & ordre
Application.ScreenUpdating = False
debut = Application.WorksheetFunction.Ceiling(ordre / 2, 1)
Range("B2").Resize(ordre, ordre).Interior.Color = vbYellow
x = 2 + debut
y = 1 + debut
Cells(x, y) = 1
For i = 2 To ordre ^ 2
x = IIf(x + 1 > (ordre + 1), 2, x + 1)
y = IIf(y + 1 > (ordre + 1), 2, y + 1)
If Cells(x, y) > 0 Then x = x + 1: y = y - 1
y = IIf(y < 2, ordre + 1, y)
x = IIf(x > (ordre + 1), 2, x)
Cells(x, y) = i
Next
Application.ScreenUpdating = True
End Sub
Je préfère ton code. Et si tu voyais à quelle vitesse mon tchum peut remplir un carré magique, tu serais impressionné. Il a même déjà construit un pair devant mes propres yeux qui churent de leurs écailles :-)))
Serge
"GD" a écrit dans le message de news:
Bonsour(®) Serge, ci-dessous code un peu plus concis mais bof.... les "IF" deviennnent des "IIF" , je gagne juste sur les "THEN" ton algorithme fait symetriquement exactement la même chose que le mien ;-))) en A1 une valeur positive entiere puis lance la macro
Sub MagikSerge() ordre = 1 + 2 * [A1].Value [B2].Resize(52, 52).Clear MsgBox "carré magique d'ordre " & ordre Application.ScreenUpdating = False debut = Application.WorksheetFunction.Ceiling(ordre / 2, 1) Range("B2").Resize(ordre, ordre).Interior.Color = vbYellow x = 2 + debut y = 1 + debut Cells(x, y) = 1 For i = 2 To ordre ^ 2 x = IIf(x + 1 > (ordre + 1), 2, x + 1) y = IIf(y + 1 > (ordre + 1), 2, y + 1) If Cells(x, y) > 0 Then x = x + 1: y = y - 1 y = IIf(y < 2, ordre + 1, y) x = IIf(x > (ordre + 1), 2, x) Cells(x, y) = i Next Application.ScreenUpdating = True End Sub
;-))) @+
DJ9B
Salut Serge ! C'est la vie de château ( d'if ) alors ! comme dirait Edmond ;o)) !
-- à tantôt ! DJ9B e-mail : Site : www.dj9b.fr.st "garnote" a écrit dans le message de news:ao0Ec.14026$
Je préfère ton code. Et si tu voyais à quelle vitesse mon tchum peut remplir un carré magique, tu serais impressionné. Il a même déjà construit un pair devant mes propres yeux qui churent de leurs écailles :-)))
Serge
"GD" a écrit dans le message de news:
Bonsour(®) Serge, ci-dessous code un peu plus concis mais bof.... les "IF" deviennnent des "IIF" , je gagne juste sur les "THEN" ton algorithme fait symetriquement exactement la même chose que le mien ;-))) en A1 une valeur positive entiere puis lance la macro
Sub MagikSerge() ordre = 1 + 2 * [A1].Value [B2].Resize(52, 52).Clear MsgBox "carré magique d'ordre " & ordre Application.ScreenUpdating = False debut = Application.WorksheetFunction.Ceiling(ordre / 2, 1) Range("B2").Resize(ordre, ordre).Interior.Color = vbYellow x = 2 + debut y = 1 + debut Cells(x, y) = 1 For i = 2 To ordre ^ 2 x = IIf(x + 1 > (ordre + 1), 2, x + 1) y = IIf(y + 1 > (ordre + 1), 2, y + 1) If Cells(x, y) > 0 Then x = x + 1: y = y - 1 y = IIf(y < 2, ordre + 1, y) x = IIf(x > (ordre + 1), 2, x) Cells(x, y) = i Next Application.ScreenUpdating = True End Sub
;-))) @+
Salut Serge !
C'est la vie de château ( d'if ) alors !
comme dirait Edmond ;o)) !
--
à tantôt !
DJ9B
e-mail : Inleve_me_cha_dj9b@free.fr
Site : www.dj9b.fr.st
"garnote" <rien@absent.net> a écrit dans le message de
news:ao0Ec.14026$l6.12436@clgrps12...
Je préfère ton code. Et si tu voyais à quelle vitesse mon
tchum peut remplir un carré magique, tu serais impressionné.
Il a même déjà construit un pair devant mes propres yeux qui
churent de leurs écailles :-)))
Serge
"GD" <nomail@nomail.net> a écrit dans le message de news:
OYxxAfVXEHA.2840@TK2MSFTNGP11.phx.gbl...
Bonsour(®) Serge,
ci-dessous code un peu plus concis mais bof....
les "IF" deviennnent des "IIF" , je gagne juste sur les "THEN"
ton algorithme fait symetriquement exactement la même chose que le mien
;-)))
en A1 une valeur positive entiere puis lance la macro
Sub MagikSerge()
ordre = 1 + 2 * [A1].Value
[B2].Resize(52, 52).Clear
MsgBox "carré magique d'ordre " & ordre
Application.ScreenUpdating = False
debut = Application.WorksheetFunction.Ceiling(ordre / 2, 1)
Range("B2").Resize(ordre, ordre).Interior.Color = vbYellow
x = 2 + debut
y = 1 + debut
Cells(x, y) = 1
For i = 2 To ordre ^ 2
x = IIf(x + 1 > (ordre + 1), 2, x + 1)
y = IIf(y + 1 > (ordre + 1), 2, y + 1)
If Cells(x, y) > 0 Then x = x + 1: y = y - 1
y = IIf(y < 2, ordre + 1, y)
x = IIf(x > (ordre + 1), 2, x)
Cells(x, y) = i
Next
Application.ScreenUpdating = True
End Sub
Salut Serge ! C'est la vie de château ( d'if ) alors ! comme dirait Edmond ;o)) !
-- à tantôt ! DJ9B e-mail : Site : www.dj9b.fr.st "garnote" a écrit dans le message de news:ao0Ec.14026$
Je préfère ton code. Et si tu voyais à quelle vitesse mon tchum peut remplir un carré magique, tu serais impressionné. Il a même déjà construit un pair devant mes propres yeux qui churent de leurs écailles :-)))
Serge
"GD" a écrit dans le message de news:
Bonsour(®) Serge, ci-dessous code un peu plus concis mais bof.... les "IF" deviennnent des "IIF" , je gagne juste sur les "THEN" ton algorithme fait symetriquement exactement la même chose que le mien ;-))) en A1 une valeur positive entiere puis lance la macro
Sub MagikSerge() ordre = 1 + 2 * [A1].Value [B2].Resize(52, 52).Clear MsgBox "carré magique d'ordre " & ordre Application.ScreenUpdating = False debut = Application.WorksheetFunction.Ceiling(ordre / 2, 1) Range("B2").Resize(ordre, ordre).Interior.Color = vbYellow x = 2 + debut y = 1 + debut Cells(x, y) = 1 For i = 2 To ordre ^ 2 x = IIf(x + 1 > (ordre + 1), 2, x + 1) y = IIf(y + 1 > (ordre + 1), 2, y + 1) If Cells(x, y) > 0 Then x = x + 1: y = y - 1 y = IIf(y < 2, ordre + 1, y) x = IIf(x > (ordre + 1), 2, x) Cells(x, y) = i Next Application.ScreenUpdating = True End Sub
;-))) @+
garnote
Si si, stie :-)))
sg
"DJ9B" <enlevez-ç a écrit dans le message de news: ODpa3#
Salut Serge ! C'est la vie de château ( d'if ) alors ! comme dirait Edmond ;o)) !
-- à tantôt ! DJ9B e-mail : Site : www.dj9b.fr.st "garnote" a écrit dans le message de news:ao0Ec.14026$
Je préfère ton code. Et si tu voyais à quelle vitesse mon tchum peut remplir un carré magique, tu serais impressionné. Il a même déjà construit un pair devant mes propres yeux qui churent de leurs écailles :-)))
Serge
"GD" a écrit dans le message de news:
Bonsour(®) Serge, ci-dessous code un peu plus concis mais bof.... les "IF" deviennnent des "IIF" , je gagne juste sur les "THEN" ton algorithme fait symetriquement exactement la même chose que le mien
;-))) en A1 une valeur positive entiere puis lance la macro
Sub MagikSerge() ordre = 1 + 2 * [A1].Value [B2].Resize(52, 52).Clear MsgBox "carré magique d'ordre " & ordre Application.ScreenUpdating = False debut = Application.WorksheetFunction.Ceiling(ordre / 2, 1) Range("B2").Resize(ordre, ordre).Interior.Color = vbYellow x = 2 + debut y = 1 + debut Cells(x, y) = 1 For i = 2 To ordre ^ 2 x = IIf(x + 1 > (ordre + 1), 2, x + 1) y = IIf(y + 1 > (ordre + 1), 2, y + 1) If Cells(x, y) > 0 Then x = x + 1: y = y - 1 y = IIf(y < 2, ordre + 1, y) x = IIf(x > (ordre + 1), 2, x) Cells(x, y) = i Next Application.ScreenUpdating = True End Sub
;-))) @+
Si si, stie :-)))
sg
"DJ9B" <enlevez-ça-dj9b@free.fr> a écrit dans le message de news:
ODpa3#VXEHA.796@TK2MSFTNGP10.phx.gbl...
Salut Serge !
C'est la vie de château ( d'if ) alors !
comme dirait Edmond ;o)) !
--
à tantôt !
DJ9B
e-mail : Inleve_me_cha_dj9b@free.fr
Site : www.dj9b.fr.st
"garnote" <rien@absent.net> a écrit dans le message de
news:ao0Ec.14026$l6.12436@clgrps12...
Je préfère ton code. Et si tu voyais à quelle vitesse mon
tchum peut remplir un carré magique, tu serais impressionné.
Il a même déjà construit un pair devant mes propres yeux qui
churent de leurs écailles :-)))
Serge
"GD" <nomail@nomail.net> a écrit dans le message de news:
OYxxAfVXEHA.2840@TK2MSFTNGP11.phx.gbl...
Bonsour(®) Serge,
ci-dessous code un peu plus concis mais bof....
les "IF" deviennnent des "IIF" , je gagne juste sur les "THEN"
ton algorithme fait symetriquement exactement la même chose que le
mien
;-)))
en A1 une valeur positive entiere puis lance la macro
Sub MagikSerge()
ordre = 1 + 2 * [A1].Value
[B2].Resize(52, 52).Clear
MsgBox "carré magique d'ordre " & ordre
Application.ScreenUpdating = False
debut = Application.WorksheetFunction.Ceiling(ordre / 2, 1)
Range("B2").Resize(ordre, ordre).Interior.Color = vbYellow
x = 2 + debut
y = 1 + debut
Cells(x, y) = 1
For i = 2 To ordre ^ 2
x = IIf(x + 1 > (ordre + 1), 2, x + 1)
y = IIf(y + 1 > (ordre + 1), 2, y + 1)
If Cells(x, y) > 0 Then x = x + 1: y = y - 1
y = IIf(y < 2, ordre + 1, y)
x = IIf(x > (ordre + 1), 2, x)
Cells(x, y) = i
Next
Application.ScreenUpdating = True
End Sub
"DJ9B" <enlevez-ç a écrit dans le message de news: ODpa3#
Salut Serge ! C'est la vie de château ( d'if ) alors ! comme dirait Edmond ;o)) !
-- à tantôt ! DJ9B e-mail : Site : www.dj9b.fr.st "garnote" a écrit dans le message de news:ao0Ec.14026$
Je préfère ton code. Et si tu voyais à quelle vitesse mon tchum peut remplir un carré magique, tu serais impressionné. Il a même déjà construit un pair devant mes propres yeux qui churent de leurs écailles :-)))
Serge
"GD" a écrit dans le message de news:
Bonsour(®) Serge, ci-dessous code un peu plus concis mais bof.... les "IF" deviennnent des "IIF" , je gagne juste sur les "THEN" ton algorithme fait symetriquement exactement la même chose que le mien
;-))) en A1 une valeur positive entiere puis lance la macro
Sub MagikSerge() ordre = 1 + 2 * [A1].Value [B2].Resize(52, 52).Clear MsgBox "carré magique d'ordre " & ordre Application.ScreenUpdating = False debut = Application.WorksheetFunction.Ceiling(ordre / 2, 1) Range("B2").Resize(ordre, ordre).Interior.Color = vbYellow x = 2 + debut y = 1 + debut Cells(x, y) = 1 For i = 2 To ordre ^ 2 x = IIf(x + 1 > (ordre + 1), 2, x + 1) y = IIf(y + 1 > (ordre + 1), 2, y + 1) If Cells(x, y) > 0 Then x = x + 1: y = y - 1 y = IIf(y < 2, ordre + 1, y) x = IIf(x > (ordre + 1), 2, x) Cells(x, y) = i Next Application.ScreenUpdating = True End Sub