MORPION2.XLS

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 - 8 sept. 2008 à 18:47
clemmilo Messages postés 2 Date d'inscription samedi 10 novembre 2007 Statut Membre Dernière intervention 10 septembre 2008 - 10 sept. 2008 à 11:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47889-morpion2-xls

clemmilo Messages postés 2 Date d'inscription samedi 10 novembre 2007 Statut Membre Dernière intervention 10 septembre 2008
10 sept. 2008 à 11:04
Merci JRIVET pour tes commentaires, je pense que je remanierais le code dès que possible.

En effet je ne connaissais pas non plus la commande Case, je suis un vrai débutant. Ca a l'air plus facile.**

Vos commentaires sont toujours les bienvenus...

Merci d'avance
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
10 sept. 2008 à 10:40
Salut,
Bon et bien alors autant continuer
Saches simplement que ce n'est pas pour te démotiver, simplement pour t'aider à t'améliorer. Les critiques n'enlèvent en rien mon respect pour le travail que tu as fourni. Mais si en plus de t'améliorer, cela donne une source de meilleures qualité ca ne pourra être que mieux.

Le plus important c'est que tu comprennes les remarques.
- Inutile d'envoyer de MP on recoit un Mail a chaque fois qu'un commentaire est ajoute ici.
- pourquoi ne pas enregistrer les modifications en sortant?
- Tu pourrais prévenir que certaines cellules possèdent des formules et dire lesquelles.
- Pourquoi mélanger code et formules?
- Call Run("morpion2.xls!bouton34_clic") = Call Bouton34_Clic
- Il est possible de modifier le contenu des cellules et donc de tricher....
- Il est possible d'appuyer plusieurs fois de suite sur le meme bouton => LE PC GAGNE.

- ICI :
If f4 "0" And g4 "0" And h4 = "" Then
Range("h4") = "O"
Tu testes des zéros et places des [eau] O

- ton étiquette debut: de sert à rien.

- On préférera utiliser Exit Sub plutôt que Goto suite:

- Tu peux nous dire l'intérêt de ces lignes?(Si cellule H4 O alors H4 0 mmmmh)
h4 = Range("H4")

If h4 = "O" Then
Range("H4") = "O"
End If

CECI :
Select Case Range("D8").Value
Case 1, 3, 5, 7, 9: Exit Sub
Case 2, 4, 6, 8: GoTo jeupc:
End Select

EST EQUIVALENT A

d8 = Range("d8")

If d8 = "9" Then
GoTo suite:
End If

If d8 = "8" Then
GoTo jeupc:
End If

If d8 = "7" Then
GoTo suite:
End If

If d8 = "6" Then
GoTo jeupc:
End If

If d8 = "5" Then
GoTo suite:
End If

If d8 = "4" Then
GoTo jeupc:
End If

If d8 = "3" Then
GoTo suite:
End If

If d8 = "2" Then
GoTo jeupc:
End If

If d8 = "1" Then
GoTo suite:
End If
clemmilo Messages postés 2 Date d'inscription samedi 10 novembre 2007 Statut Membre Dernière intervention 10 septembre 2008
10 sept. 2008 à 10:28
Je vous remercie (BIGFISH_LE_VRAI et JRIVET) de vos messages, en effet je suis en un grand débutant et vos conseils me permettent de progresser.

ex : je ne connaissais pas l'instruction VBNULLSTRING

Si vous souhaitez l'améliorer, c'est fait pour...

N'hésitez pas, et vous pouvez toujours me répondre ou poser vos commentaires, j'en serais ravi.

Merci beaucoup, clemmilo
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
10 sept. 2008 à 10:08
Salut,
Effectivement je rejoins BIGFISH_LE VRAI... Mais il faut toujours penser critique constructive alors allons y.
J'espère sincérepment que tu liras en entier et que tu corrigeras ta source...
1- Un Code indenté c'est MIEUX

A savoir If f4 "0" And g5 "0" And h6 = "" Then
Range("h6") = "O"
GoTo suite:
End If

C'est meiux que
If f4 "0" And g5 "0" And h6 = "" Then
Range("h6") = "O"
GoTo suite:
End If

2- Tu devrais feire des PROCEDURES ou de FONCTIONS ton code serait encore plus lisible.

3- Le IF n'est pas la seule instruction à connaitre, SELECT CASE serait parfois mieux adapté (notament quand tu teste la valeur de d8)

4- Tu donnes un code où le MODULE 3 ne sert à rien puisqu'il contient une ligne ROUGE .... ATTENTION TOUT DE MEME. D'ailleur pourquoi 4 Modules????? quand un seule aurait suffit

5- On préférera utliser VBNULLSTRING à ""

6- Dans Bouton43_QuandClic à quoi servent ces lignes

f4 = ""
f5 = ""
f6 = ""
g4 = ""
g5 = ""
g6 = ""
h4 = ""
h5 = ""
h6 = ""

a = 0

Bref... on va pas tout dire d'un coup mais, il faut tout de suite corriger tout cela pour essayer d'avoir une source de qualité "acceptable".

@+
Julien
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
8 sept. 2008 à 18:47
Salut,

et on en fait quoi ? un exemple de ce qu'il ne faut pas faire ?

A+
Rejoignez-nous