VB_PtitCat
Messages postés197Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention13 mai 2009
-
20 sept. 2007 à 10:02
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
21 sept. 2007 à 23:38
Bonjours, voilà j'ai créer une procédure public dans un module, que je souhaite appeler dans ma form1, 2 et bientot 4, problème comme le titre de mon topic le dit, il me sors Erreur de compilation: Procédure Sub ou Function non définie
Voilà un ptit bout de ma procédure:
Public Sub test_V_D()
'Test Victoire, ou Nul
If (CmdCase(0).Tag = CmdCase(1).Tag) And (CmdCase(1).Tag = CmdCase(2).Tag) And _
(CmdCase(0).Tag = CmdCase(2).Tag) Then
If (CmdCase(0).Tag <> "New") And (CmdCase(1).Tag <> "New") _
And (CmdCase(2).Tag <> "New") Then
LblF.Visible = True
ImF.Visible = True
V = MsgBox("Joueur " & LblJoueur.Capt, ----
(Coloration syntaxique automatique par Kenji)
et mon appel n'est pas dure c'est soit Call test_V_D ou test_V_D
si vous pouvez m'éclairer ca m'arrangerais, moi je vois pas ou est le problème, plus je le commprend même pas
MerZi ... Zi ... Zi ... PtitCat
P.S:DSL pour l'orthographe
A voir également:
Sub ou fonction non définie
Erreur de compilation sub ou function non définie - Meilleures réponses
Vba sub ou fonction non définie - Meilleures réponses
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 20 sept. 2007 à 10:56
Re,
Tes CmdCase, sont utilisés dans combiens de Form? Plusieurs? Si oui portent-ils tous le même nom ? Si oui essaye cela :
Public Sub test_V_D(MyForm As Form)
'Test Victoire, ou NulIf (MyForm.CmdCase(0).Tag MyForm.CmdCase(1).Tag) And (MyForm.CmdCase(1).Tag MyForm.CmdCase(2).Tag) And _
(MyForm.CmdCase(0).Tag = MyForm.CmdCase(2).Tag) Then
If (MyForm.CmdCase(0).Tag <> "New") And (MyForm.CmdCase(1).Tag <> "New") _
And (MyForm.CmdCase(2).Tag <> "New") Then
MyForm.LblF.Visible = True
MyForm.ImF.Visible = True
V = MsgBox("Joueur " & MyForm.LblJoueur.Caption)
End Sub
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 21 sept. 2007 à 00:42
Pour l'optimisation, tu pourrais commencer par ces conditions, je pense
If (CmdCase(0).Tag = CmdCase(1).Tag) And (CmdCase(1).Tag = CmdCase(2).Tag) And _
(CmdCase(0).Tag = CmdCase(2).Tag) Then
If (CmdCase(0).Tag <> "New") And (CmdCase(1).Tag <> "New") _
And (CmdCase(2).Tag <> "New") Then
Ta première condition demande si les Tags sont identiques
Si oui, on entre dans la deuxième condition
Pas besoin de demander si les 3 sont = "New"... un seul tag suffit puisque les 3 sont identiques.
Tu pourrais même l'insérer dans une seule condition
If (CmdCase(0).Tag = CmdCase(1).Tag) And (CmdCase(1).Tag = CmdCase(2).Tag) And _
(CmdCase(0).Tag = CmdCase(2).Tag) And (CmdCase(0).Tag <> "New") Then
Puis tu pourrais changer tous ces IF par un Select Case qui serait éventuellement plus lisible
Une idée comme ça en passant
MPi
Vous n’avez pas trouvé la réponse que vous recherchez ?
VB_PtitCat
Messages postés197Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention13 mai 2009 20 sept. 2007 à 10:40
c'est des objets,
cmd ... pour commandbutton
lbl ... pour label
im ... pour image
etc. ...
Et donc tu pense que c'est ca, moi je pense pas trop (peut être que je me trompe) vue que dans une autre appli j'ai déjà créée des fonctions dans des modules utilisant des fonctions d'objets existant dans une form et tout c'est bien passer voilà pourquoi je ne comprend pas le fit qu'il me sorte cette erreur de compilation.
MerZi ... Zi ... Zi ... PtitCat
P.S:DSL pour l'orthographe
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 20 sept. 2007 à 11:03
Salut,
Si ce sont des objets appartenant à une form(surtout si tu as plusieurs formes avec les noms d'objet sur chaque form) , il faudrait spécifier la form sur lequel cet objet se trouve..Enfin je pense que c'est un autre problème vu que tu n'aurais pas cette erreur mais que tu aurais "un objet est requis"
VB_PtitCat
Messages postés197Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention13 mai 2009 20 sept. 2007 à 11:36
... On retourne au problème de base, il me resort Erreur de compilation: Procédure Sub ou Function non définie ...
Mais j'aprécie ton idée ca rend mon code plus propre je trouve, als je la garde quand même !!
MerZi ... Zi ... Zi ... PtitCat
P.S:DSL pour l'orthographe
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 20 sept. 2007 à 11:41
Pourrais-tu mettre ton code en entier?le module est bien public?
Il n'y aurait pas un if ou un end sub qui manque ou quelque chose comme ça?
dans ta sub tu n'appelle pas une fonction qui manquerait??
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 20 sept. 2007 à 11:46
Re,
Allez on essaye un dernier truc du genre(j'suis pas sûr lol..) :
Public Sub test_V_D(MyForm As Form, MyCmd As CommandButton, MyLbl As Label, MyIm As Image)
'Test Victoire, ou NulIf (MyForm.MyCmd(0).Tag MyForm.MyCmd(1).Tag) And (MyForm.MyCmd(1).Tag MyForm.MyCmd(2).Tag) And _
(MyForm.MyCmd(0).Tag = MyForm.MyCmd(2).Tag) Then
If (MyForm.MyCmd(0).Tag <> "New") And (MyForm.MyCmd(1).Tag <> "New") _
And (MyForm.MyCmd(2).Tag <> "New") Then
MyForm.MyLbl.Visible = True
MyForm.MyIm.Visible = True
V = MsgBox("Joueur " & MyForm.MyLbl.Caption)
End Sub
VB_PtitCat
Messages postés197Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention13 mai 2009 20 sept. 2007 à 11:57
Ok je poste mon appli mais c'est long ... attention les yx ...
Script Form1:
Private Sub CmdAcc_Click()
Form3.Show
Form1.Hide
End Sub
Private Sub CmdCase_Click(Index As Integer)
Dim t As Integer
Dim l As Integer
Dim mi_ok As Integer
'Vérifie si un nouveau jeu est mis en place
If LblJoueur.Caption = "0" Then
MsgBox _
("Il faut commencer, ou continuer un partie pour pouvoir faire celà !!")
End If
'Vérifie quel joueur joue pour placer la bonne image, compléter le bon tag, et _
ajout une case coché
If LblJoueur.Caption = "1" Then
If (CmdCase(Index).Picture <> Empty) Then
mi_ok = MsgBox("Cette case a déjà était jouée !!")
Else
CmdCase(Index).Picture = LoadPicture(Chemin & "\black.jpg")
CmdCase(Index).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
mi_ok = 0
test_V_D Form1
End If
End If
If LblJoueur.Caption = "2" Then
If (CmdCase(Index).Picture <> Empty) Or (CmdCase(Index).Picture _
<> Empty) Then
mi_ok = MsgBox("Cette case a déjà était jouée !!")
Else
CmdCase(Index).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(Index).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
mi_ok = 0
test_V_D Form1
End If
End If
If mi_ok = 0 Then
'change la main
If LblJoueur.Caption = "1" Then
LblJoueur.Caption = "2"
Else
If LblJoueur.Caption = "2" Then
LblJoueur.Caption = "1"
End If
End If
End If
End Sub
Private Sub CmdEnd_Click()
'fermeture
End
End Sub
Private Sub CmNewP_Click()
'initialisation ou réinitialisation de la grille et des score
Dim m As Integer
Label4.Visible = True
Label5.Visible = True
LblJoueur.Visible = True
LblJoueur.Caption = "1"
i = 0
j = 0
LblScore(1).Caption = "0"
LblScore(2).Caption = "0"
For m = 0 To 8 Step 1
CmdCase(m).Picture = LoadPicture(Empty)
CmdCase(m).Tag = "New"
Next m
CaseCoch = 0
End Sub
Private Sub Form_Load()
'initialisation de la fenêtre
Dim n As Integer
Chemin = App.Path
Label4.Visible = False
Label5.Visible = False
LblJoueur.Caption = "0"
LblJoueur.Visible = False
For n = 0 To 8 Step 1
CmdCase(n).Tag = "New"
Next n
End Sub, ----
(Coloration syntaxique automatique par Kenji)
Script Form2:
Private Sub CmdAcc_Click()
Form3.Show
Form2.Hide
End Sub
Private Sub CmdCase_Click(Index As Integer)
Dim t As Integer
Dim l As Integer
Dim mi_ok As Integer
Dim SelCase As Integer
'Vérifie si un nouveau jeu est mis en place
If LblJoueur.Caption = "0" Then
MsgBox _
("Il faut commencer, ou continuer un partie pour pouvoir faire celà !!")
End If
'Vérifie quel joueur joue pour placer la bonne image, compléter le bon tag, et _
ajout une case coché
If LblJoueur.Caption = "1" Then
If (CmdCase(Index).Picture <> Empty) Or (CmdCase(Index).Picture _
<> Empty) Then
mi_ok = MsgBox("Cette case a déjà était jouée !!")
Else
CmdCase(Index).Picture = LoadPicture(Chemin & "\black.jpg")
CmdCase(Index).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
mi_ok = 0
R = test_V_D(Form2)
End If
End If
test_V_D Form2
If mi_ok = 0 Then
'change la main
If LblJoueur.Caption = "1" Then
LblJoueur.Caption = "2"
ElseIf LblJoueur.Caption = "2" Then
LblJoueur.Caption = "1"
End If
End If
End Sub
Private Sub CmdCase_MouseUp(Index As Integer, Button As Integer, Shift As _
Integer, X As Single, Y As Single)
Dim l As Integer
If LblJoueur.Caption = "2" Then
'Test de possibilité de victoire ou defait
PC:
If (CmdCase(0).Tag = CmdCase(1).Tag) And (CmdCase(0).Tag <> "New") _
Then
If (CmdCase(2).Picture <> Empty) Then
GoTo PC1
Else
CmdCase(2).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(2).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC1:
ElseIf (CmdCase(0).Tag = CmdCase(2).Tag) And (CmdCase(0).Tag <> _
"New") Then
If (CmdCase(1).Picture <> Empty) Then
GoTo PC2
Else
CmdCase(1).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(1).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC2:
ElseIf (CmdCase(0).Tag = CmdCase(3).Tag) And (CmdCase(0).Tag <> _
"New") Then
If (CmdCase(6).Picture <> Empty) Then
GoTo PC3
Else
CmdCase(6).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(6).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC3:
ElseIf (CmdCase(0).Tag = CmdCase(6).Tag) And (CmdCase(0).Tag <> _
"New") Then
If (CmdCase(3).Picture <> Empty) Then
GoTo PC4
Else
CmdCase(3).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(3).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC4:
ElseIf (CmdCase(0).Tag = CmdCase(4).Tag) And (CmdCase(0).Tag <> _
"New") Then
If (CmdCase(8).Picture <> Empty) Then
GoTo PC5
Else
CmdCase(8).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(8).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC5:
ElseIf (CmdCase(0).Tag = CmdCase(8).Tag) And (CmdCase(0).Tag <> _
"New") Then
If (CmdCase(4).Picture <> Empty) Then
GoTo PC6
Else
CmdCase(4).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(4).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC6:
ElseIf (CmdCase(1).Tag = CmdCase(2).Tag) And (CmdCase(1).Tag <> _
"New") Then
If (CmdCase(0).Picture <> Empty) Then
GoTo PC7
Else
CmdCase(0).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(0).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC7:
ElseIf (CmdCase(1).Tag = CmdCase(4).Tag) And (CmdCase(1).Tag <> _
"New") Then
If (CmdCase(7).Picture <> Empty) Then
GoTo PC8
Else
CmdCase(7).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(7).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC8:
ElseIf (CmdCase(1).Tag = CmdCase(7).Tag) And (CmdCase(1).Tag <> _
"New") Then
If (CmdCase(4).Picture <> Empty) Then
GoTo PC9
Else
CmdCase(4).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(4).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC9:
ElseIf (CmdCase(2).Tag = CmdCase(5).Tag) And (CmdCase(2).Tag <> _
"New") Then
If (CmdCase(8).Picture <> Empty) Then
GoTo PC10
Else
CmdCase(8).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(8).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC10:
ElseIf (CmdCase(2).Tag = CmdCase(8).Tag) And (CmdCase(2).Tag <> _
"New") Then
If (CmdCase(5).Picture <> Empty) Then
GoTo PC11
Else
CmdCase(5).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(5).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC11:
ElseIf (CmdCase(2).Tag = CmdCase(4).Tag) And (CmdCase(2).Tag <> _
"New") Then
If (CmdCase(6).Picture <> Empty) Then
GoTo PC12
Else
CmdCase(6).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(6).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC12:
ElseIf (CmdCase(2).Tag = CmdCase(6).Tag) And (CmdCase(2).Tag <> _
"New") Then
If (CmdCase(4).Picture <> Empty) Then
GoTo PC13
Else
CmdCase(4).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(4).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC13:
ElseIf (CmdCase(3).Tag = CmdCase(4).Tag) And (CmdCase(3).Tag <> _
"New") Then
If (CmdCase(5).Picture <> Empty) Then
GoTo PC14
Else
CmdCase(5).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(5).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC14:
ElseIf (CmdCase(3).Tag = CmdCase(5).Tag) And (CmdCase(3).Tag <> _
"New") Then
If (CmdCase(4).Picture <> Empty) Then
GoTo PC15
Else
CmdCase(4).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(4).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC15:
ElseIf (CmdCase(3).Tag = CmdCase(6).Tag) And (CmdCase(3).Tag <> _
"New") Then
If (CmdCase(0).Picture <> Empty) Then
GoTo PC16
Else
CmdCase(0).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(0).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC16:
ElseIf (CmdCase(4).Tag = CmdCase(5).Tag) And (CmdCase(4).Tag <> _
"New") Then
If (CmdCase(3).Picture <> Empty) Then
GoTo PC17
Else
CmdCase(3).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(3).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC17:
ElseIf (CmdCase(4).Tag = CmdCase(7).Tag) And (CmdCase(4).Tag <> _
"New") Then
If (CmdCase(1).Picture <> Empty) Then
GoTo PC18
Else
CmdCase(1).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(1).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC18:
ElseIf (CmdCase(4).Tag = CmdCase(8).Tag) And (CmdCase(4).Tag <> _
"New") Then
If (CmdCase(0).Picture <> Empty) Then
GoTo PC19
Else
CmdCase(0).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(0).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC19:
ElseIf (CmdCase(5).Tag = CmdCase(8).Tag) And (CmdCase(5).Tag <> _
"New") Then
If (CmdCase(2).Picture <> Empty) Then
GoTo PC20
Else
CmdCase(2).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(2).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC20:
ElseIf (CmdCase(6).Tag = CmdCase(7).Tag) And (CmdCase(6).Tag <> _
"New") Then
If (CmdCase(8).Picture <> Empty) Then
GoTo PC21
Else
CmdCase(8).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(8).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC21:
ElseIf (CmdCase(6).Tag = CmdCase(8).Tag) And (CmdCase(6).Tag <> _
"New") Then
If (CmdCase(7).Picture <> Empty) Then
GoTo PC22
Else
CmdCase(7).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(7).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC22:
ElseIf (CmdCase(7).Tag = CmdCase(8).Tag) And (CmdCase(7).Tag <> _
"New") Then
If (CmdCase(6).Picture <> Empty) Then
GoTo PC23
Else
CmdCase(6).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(6).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
PC23:
Else
'Initialise le générateur de nombres aléatoires.
Randomize
SelCase = Int((8 * Rnd))
If (CmdCase(SelCase).Picture <> Empty) Then
GoTo PC
Else
CmdCase(SelCase).Picture = LoadPicture(Chemin & "\blue.jpg")
CmdCase(SelCase).Tag = LblJoueur.Caption
CaseCoch = CaseCoch + 1
End If
End If
End If
test_V_D Form2
'change la main
If LblJoueur.Caption = "1" Then
LblJoueur.Caption = "2"
ElseIf LblJoueur.Caption = "2" Then
LblJoueur.Caption = "1"
End If
End Sub
Private Sub CmdEnd_Click()
'fermeture
End
End Sub
Private Sub CmNewP_Click()
'initialisation ou réinitialisation de la grille et des score
Dim m As Integer
Label4.Visible = True
Label5.Visible = True
LblJoueur.Visible = True
LblJoueur.Caption = "1"
i = 0
j = 0
LblScore(1).Caption = "0"
LblScore(2).Caption = "0"
For m = 0 To 8 Step 1
CmdCase(m).Picture = LoadPicture(Empty)
CmdCase(m).Tag = "New"
Next m
CaseCoch = 0
End Sub
Private Sub Form_Load()
'initialisation de la fenêtre
Dim n As Integer
Chemin = App.Path
Label4.Visible = False
Label5.Visible = False
LblJoueur.Caption = "0"
LblJoueur.Visible = False
For n = 0 To 8 Step 1
CmdCase(n).Tag = "New"
Next n
End Sub, ----
(Coloration syntaxique automatique par Kenji)
Script Module1:
Public Chemin As String
Public i As Integer
Public j As Integer
Public CaseCoch As Integer
Public V As Integer
Public R As Integer
Public Sub test_V_D(MyForm As Form)
'Test Victoire, ou Nul
If (CmdCase(0).Tag = CmdCase(1).Tag) And (CmdCase(1).Tag = CmdCase(2).Tag) And _
(CmdCase(0).Tag = CmdCase(2).Tag) Then
If (CmdCase(0).Tag <> "New") And (CmdCase(1).Tag <> "New") _
And (CmdCase(2).Tag <> "New") Then
LblF.Visible = True
ImF.Visible = True
V = MsgBox("Joueur " & LblJoueur.Caption & " GAGNE !!", 64, _
"VICTOIRE !!")
If V = 1 Then
LblF.Visible = False
ImF.Visible = False
End If
If LblJoueur.Caption = "1" Then
i = i + 1
LblScore(1).Caption = CStr(i)
End If
If LblJoueur.Caption = "2" Then
j = j + 1
LblScore(2).Caption = CStr(j)
End If
'réinitialisation de la grille
For l = 0 To 8 Step 1
CmdCase(l).Picture = LoadPicture(Empty)
CmdCase(l).Tag = "New"
Next l
CaseCoch = 0
'change la main
If LblJoueur.Caption = "1" Then
LblJoueur.Caption = "2"
ElseIf LblJoueur.Caption = "2" Then
LblJoueur.Caption = "1"
End If
Exit Sub
End If
ElseIf (CmdCase(3).Tag = CmdCase(4).Tag) And (CmdCase(4).Tag = CmdCase(5).Tag) _
And (CmdCase(3).Tag = CmdCase(5).Tag) Then
If (CmdCase(3).Tag <> "New") And (CmdCase(4).Tag <> "New") _
And (CmdCase(5).Tag <> "New") Then
LblF.Visible = True
ImF.Visible = True
V = MsgBox("Joueur " & LblJoueur.Caption & " GAGNE !!", 64, _
"VICTOIRE !!")
If V = 1 Then
LblF.Visible = False
ImF.Visible = False
End If
If LblJoueur.Caption = "1" Then
i = i + 1
LblScore(1).Caption = CStr(i)
End If
If LblJoueur.Caption = "2" Then
j = j + 1
LblScore(2).Caption = CStr(j)
End If
'réinitialisation de la grille
For l = 0 To 8 Step 1
CmdCase(l).Picture = LoadPicture(Empty)
CmdCase(l).Tag = "New"
Next l
CaseCoch = 0
'change la main
If LblJoueur.Caption = "1" Then
LblJoueur.Caption = "2"
ElseIf LblJoueur.Caption = "2" Then
LblJoueur.Caption = "1"
End If
Exit Sub
End If
ElseIf (CmdCase(6).Tag = CmdCase(7).Tag) And (CmdCase(7).Tag = CmdCase(8).Tag) _
And (CmdCase(6).Tag = CmdCase(8).Tag) Then
If (CmdCase(6).Tag <> "New") And (CmdCase(7).Tag <> "New") _
And (CmdCase(8).Tag <> "New") Then
LblF.Visible = True
ImF.Visible = True
V = MsgBox("Joueur " & LblJoueur.Caption & " GAGNE !!", 64, _
"VICTOIRE !!")
If V = 1 Then
LblF.Visible = False
ImF.Visible = False
End If
If LblJoueur.Caption = "1" Then
i = i + 1
LblScore(1).Caption = CStr(i)
End If
If LblJoueur.Caption = "2" Then
j = j + 1
LblScore(2).Caption = CStr(j)
End If
'réinitialisation de la grille
For l = 0 To 8 Step 1
CmdCase(l).Picture = LoadPicture(Empty)
CmdCase(l).Tag = "New"
Next l
CaseCoch = 0
'change la main
If LblJoueur.Caption = "1" Then
LblJoueur.Caption = "2"
ElseIf LblJoueur.Caption = "2" Then
LblJoueur.Caption = "1"
End If
Exit Sub
End If
ElseIf (CmdCase(0).Tag = CmdCase(3).Tag) And (CmdCase(3).Tag = CmdCase(6).Tag) _
And (CmdCase(0).Tag = CmdCase(6).Tag) Then
If (CmdCase(0).Tag <> "New") And (CmdCase(3).Tag <> "New") _
And (CmdCase(6).Tag <> "New") Then
LblF.Visible = True
ImF.Visible = True
V = MsgBox("Joueur " & LblJoueur.Caption & " GAGNE !!", 64, _
"VICTOIRE !!")
If V = 1 Then
LblF.Visible = False
ImF.Visible = False
End If
If LblJoueur.Caption = "1" Then
i = i + 1
LblScore(1).Caption = CStr(i)
End If
If LblJoueur.Caption = "2" Then
j = j + 1
LblScore(2).Caption = CStr(j)
End If
'réinitialisation de la grille
For l = 0 To 8 Step 1
CmdCase(l).Picture = LoadPicture(Empty)
CmdCase(l).Tag = "New"
Next l
CaseCoch = 0
'change la main
If LblJoueur.Caption = "1" Then
LblJoueur.Caption = "2"
ElseIf LblJoueur.Caption = "2" Then
LblJoueur.Caption = "1"
End If
Exit Sub
End If
ElseIf (CmdCase(1).Tag = CmdCase(4).Tag) And (CmdCase(4).Tag = CmdCase(7).Tag) _
And (CmdCase(1).Tag = CmdCase(7).Tag) Then
If (CmdCase(1).Tag <> "New") And (CmdCase(4).Tag <> "New") _
And (CmdCase(7).Tag <> "New") Then
LblF.Visible = True
ImF.Visible = True
V = MsgBox("Joueur " & LblJoueur.Caption & " GAGNE !!", 64, _
"VICTOIRE !!")
If V = 1 Then
LblF.Visible = False
ImF.Visible = False
End If
If LblJoueur.Caption = "1" Then
i = i + 1
LblScore(1).Caption = CStr(i)
End If
If LblJoueur.Caption = "2" Then
j = j + 1
LblScore(2).Caption = CStr(j)
End If
'réinitialisation de la grille
For l = 0 To 8 Step 1
CmdCase(l).Picture = LoadPicture(Empty)
CmdCase(l).Tag = "New"
Next l
CaseCoch = 0
'change la main
If LblJoueur.Caption = "1" Then
LblJoueur.Caption = "2"
ElseIf LblJoueur.Caption = "2" Then
LblJoueur.Caption = "1"
End If
Exit Sub
End If
ElseIf (CmdCase(2).Tag = CmdCase(5).Tag) And (CmdCase(5).Tag = CmdCase(8).Tag) _
And (CmdCase(2).Tag = CmdCase(8).Tag) Then
If (CmdCase(2).Tag <> "New") And (CmdCase(5).Tag <> "New") _
And (CmdCase(8).Tag <> "New") Then
LblF.Visible = True
ImF.Visible = True
V = MsgBox("Joueur " & LblJoueur.Caption & " GAGNE !!", 64, _
"VICTOIRE !!")
If V = 1 Then
LblF.Visible = False
ImF.Visible = False
End If
If LblJoueur.Caption = "1" Then
i = i + 1
LblScore(1).Caption = CStr(i)
End If
If LblJoueur.Caption = "2" Then
j = j + 1
LblScore(2).Caption = CStr(j)
End If
'réinitialisation de la grille
For l = 0 To 8 Step 1
CmdCase(l).Picture = LoadPicture(Empty)
CmdCase(l).Tag = "New"
Next l
CaseCoch = 0
'change la main
If LblJoueur.Caption = "1" Then
LblJoueur.Caption = "2"
ElseIf LblJoueur.Caption = "2" Then
LblJoueur.Caption = "1"
End If
Exit Sub
End If
ElseIf (CmdCase(0).Tag = CmdCase(4).Tag) And (CmdCase(4).Tag = CmdCase(8).Tag) _
And (CmdCase(0).Tag = CmdCase(8).Tag) Then
If (CmdCase(0).Tag <> "New") And (CmdCase(4).Tag <> "New") _
And (CmdCase(8).Tag <> "New") Then
LblF.Visible = True
ImF.Visible = True
V = MsgBox("Joueur " & LblJoueur.Caption & " GAGNE !!", 64, _
"VICTOIRE !!")
If V = 1 Then
LblF.Visible = False
ImF.Visible = False
End If
If LblJoueur.Caption = "1" Then
i = i + 1
LblScore(1).Caption = CStr(i)
End If
If LblJoueur.Caption = "2" Then
j = j + 1
LblScore(2).Caption = CStr(j)
End If
'réinitialisation de la grille
For l = 0 To 8 Step 1
CmdCase(l).Picture = LoadPicture(Empty)
CmdCase(l).Tag = "New"
Next l
CaseCoch = 0
'change la main
If LblJoueur.Caption = "1" Then
LblJoueur.Caption = "2"
ElseIf LblJoueur.Caption = "2" Then
LblJoueur.Caption = "1"
End If
Exit Sub
End If
ElseIf (CmdCase(2).Tag = CmdCase(4).Tag) And (CmdCase(4).Tag = CmdCase(6).Tag) _
And (CmdCase(2).Tag = CmdCase(6).Tag) Then
If (CmdCase(2).Tag <> "New") And (CmdCase(4).Tag <> "New") _
And (CmdCase(6).Tag <> "New") Then
LblF.Visible = True
ImF.Visible = True
V = MsgBox("Joueur " & LblJoueur.Caption & " GAGNE !!", 64, _
"VICTOIRE !!")
If V = 1 Then
LblF.Visible = False
ImF.Visible = False
End If
If LblJoueur.Caption = "1" Then
i = i + 1
LblScore(1).Caption = CStr(i)
End If
If LblJoueur.Caption = "2" Then
j = j + 1
LblScore(2).Caption = CStr(j)
End If
'réinitialisation de la grille
For l = 0 To 8 Step 1
CmdCase(l).Picture = LoadPicture(Empty)
CmdCase(l).Tag = "New"
Next l
CaseCoch = 0
'change la main
If LblJoueur.Caption = "1" Then
LblJoueur.Caption = "2"
ElseIf LblJoueur.Caption = "2" Then
LblJoueur.Caption = "1"
End If
Exit Sub
End If
ElseIf CaseCoch = 9 Then
V = MsgBox("Et c'est un match nul", 64, "NUL !!")
'réinitialisation de la grille
For l = 0 To 8 Step 1
CmdCase(l).Picture = LoadPicture(Empty)
CmdCase(l).Tag = "New"
Next l
CaseCoch = 0
'change la main
If LblJoueur.Caption = "1" Then
LblJoueur.Caption = "2"
ElseIf LblJoueur.Caption = "2" Then
LblJoueur.Caption = "1"
End If
Exit Sub
End If
Voilà, c'est pour mon source S.V.P aidez moi, je veux rendre ma mise en forme correct, pour pouvoir plus aisaiment corriger, les différent bug, et apporté plus facillement les modification qui vont bien ...
MerZi ... Zi ... Zi ... PtitCat
P.S:DSL pour l'orthographe
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 20 sept. 2007 à 11:59
salut,
reprenons au début.
taform est-elle unique ou est-ce une instance d'une form ?
(c'est à dire, elle est ouverte par me.show ou f as new form_truc etc..)
ton code est bien dans une module standart?
d'ailleurs le test des if est bien amusant.....
Public V As Integer
Public Sub test_V_D(MyForm As Form)
'Test Victoire, ou Nul
With MyForm
If ((.CmdCase(0).Tag = .CmdCase(1).Tag) And
(.CmdCase(0).Tag = .CmdCase(2).Tag)) And (.CmdCase(0).Tag <> "New") Then
LblF.Visible = True
ImF.Visible = True
V = MsgBox("Joueur " & .LblJoueur.Capt, vbYesNoCancel)
'..... [IL MANQUE QUOI ENSUITE?!!]
que doit-on deviner?
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp