Forum Terre d'Asile
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


Ce forum accueille les anciens de TDLJ, pour que cette communauté ne se disperse pas aux quatre vents, mais tout nouveau membre est le bienvenu ! La bonne humeur est au programme et côtoie de nombreux concours et sujets de discussions variés.
 
AccueilPortailDernières imagesRechercherS'enregistrerConnexion
Venez participer à "L'Énigme du Mois de Mai 2015". Allez section "Évènements" sur le topic de L'Énigme du Mois pour avoir plus d'informations. Bonne chance à tous les Sherlock en herbe !
ATTENTION : Les bonbons sont toujours là. Venez les trouver. Venez participer à "l’Évent Halloween". Allez section "Évènements" sur le topic de l’Évent pour avoir plus d'informations. Bonne chance à tous !
Chers membres, Aguila a eu l'idée de tous nous réunir pour de vrai. Allez section "Évènements" sur le Topic du Rassemblement pour avoir plus d'informations.
Le Deal du moment :
Pokémon EV06 : où acheter le Bundle Lot ...
Voir le deal

Partagez
 

 [Résolu][Aide Informatique] Programme VBA

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
kelk1
Fou/Folle
Fou/Folle
kelk1

Organisation Évent mystère (choix des membres) Légende Arthurienne

Masculin Age : 29
Niveau de folie : 4389
Messages : 307
Lieu : à la taverne !!

[Résolu][Aide Informatique] Programme VBA Empty
MessageSujet: [Résolu][Aide Informatique] Programme VBA   [Résolu][Aide Informatique] Programme VBA Icon_minitimeMer 24 Avr 2013 - 16:38

Bonjour, je viens ici car je sais pas trop où aller ^^'
j'ai un programme vba à réaliser et j'ai comme qui dirait un pitit problème ^^'
si quelqu'un peut m'aider à le résoudre :/
J'explique mon travail : il s'agit de réaliser une sorte de démineur sur excel. A la différence du démineur classique, ici, on part de la case en haut a gauche de la grille pour tenter d'aller en bas a droite de la grille, on ne peut se deplacer que d'une case à la fois.
Afin que le programme attende l'action du changement de case j'ai vu sur internet qu'on pouvait mettre un Doevents. Je ne sais cependant pas à quoi ça sert (enfin comment ça marche :/)
je vous montre mon programme : (il y a surement beaucoup plus simple et je pense qu'il y a des lignes en trop mais a force de le refaire j'ai peut etre des trucs qui servent à rien)
il y a la macro de départ qui met en place le jeu (cadre, fond, ...) il appelle cette macro :
Code:
Sub Etude_Cellule(L As Integer, C As Integer, X As Integer, Y As Integer, Mine As Integer, message As String)
Cells(L, C).Activate
Cells(L, C).Interior.ColorIndex = 2
Call M_MineAlentour.mine_alentour(L, C, Mine, message)
Call M_CoordonnéeCellules.Coordonnée_Cellules(X, Y)
While X = L And Y = C
Call Coordonnée_Cellules(X, Y)
  If message = "Perdu" Then
  X = -1
  Y = -1
  End If
  If X = 12 And Y = 12 Then
  L = -1
  C = -1
  End If
  DoEvents
Wend
Call M_CoordonnéeCellules.Coordonnée_Cellules(X, Y)
L = X
C = Y
If L = 12 And C = 12 Then
Call M_MineAlentour.mine_alentour(L, C, Mine, message)
  If message <> "Perdu" Then
    MsgBox "Gagné"
    message = "Gagné"
    End If
End If
End Sub
Ce Doevents me permets d'activer une autre macro (par des boutons placés sur la feuille excel)
Code:
Sub Bouton_Bas()
Dim X As Integer
Dim Y As Integer
Dim L As Integer
Dim C As Integer
Dim Mine As Integer
Dim message As String
Call M_CoordonnéeCellules.Coordonnée_Cellules(X, Y)
Cells(X + 1, Y).Select
L = X + 1
C = Y
Call M_EtudeCellule.Etude_Cellule(L, C, X, Y, Mine, message)
End Sub
Je vois que le doevents arrete la macro etude de cellule, ce qui me laisse le loisir d'activer par exemple la macro bouton bas, cependant a la fin de l'execution de bouton il reviens sur la macro etude de cellule, cependant les variables ont changer de valeur. du coup lorsque j'ai gagné (voir perdu mais c'est moins grave) il me mets en boucle le message "gagné" ... puisqu'il retourne toujours dans la boucle alors que je veut qu'il finnisse le programme.
je vous mets egalement les 2 macro qui sont appelées :
Code:
Sub mine_alentour(L As Integer, C As Integer, Mine As Integer, message As String)
Mine = 0
If Cells(L, C).Value = "X" Then
        MsgBox "Perdu"
        message = "Perdu"
Range("C3:L12").Interior.ColorIndex = 2
  Else
        If Cells(L - 1, C - 1).Value = "X" Then
          Mine = 1 + Mine
          End If
        If Cells(L - 1, C).Value = "X" Then
          Mine = 1 + Mine
          End If
        If Cells(L - 1, C + 1).Value = "X" Then
          Mine = 1 + Mine
          End If
        If Cells(L, C - 1).Value = "X" Then
          Mine = 1 + Mine
          End If
        If Cells(L + 1, C + 1).Value = "X" Then
          Mine = 1 + Mine
          End If
        If Cells(L, C + 1).Value = "X" Then
          Mine = 1 + Mine
          End If
        If Cells(L + 1, C - 1).Value = "X" Then
          Mine = 1 + Mine
          End If
        If Cells(L + 1, C).Value = "X" Then
          Mine = 1 + Mine
          End If
        Cells(L, C).Value = Mine
        Cells(L, C).Font.ColorIndex = 5
    If Mine = 0 Then
    Cells(L, C).Value = ""
    End If
End If
End Sub
Code:
Sub Coordonnée_Cellules(X As Integer, Y As Integer)
Y = ActiveCell.Column
X = ActiveCell.Row
End Sub
si quelqu'un pouvait m'en apprendre plus sur le Doevents et pourquoi il me ramène toujours dans ma boucle ...
voir si possible me dire comment resoudre ce problème  ...
Merci beaucoup !!
Revenir en haut Aller en bas
Circé
Snow Queen
Snow Queen
Circé

Organisation Évent Cinéma + 1e Concours Libre 14 Juillet + 3e Concours de Graphisme + Sushi Or 2013 +  1e Concours de Signature + Organisation Évent Séries TV + 1e Concours de Vidéo + Grand Champion Énigme du Mois 2013 d’Or + 1e Concours Libre St Valentin

Féminin Age : 46
Niveau de folie : 11464
Messages : 3064
Lieu : In the Cold

[Résolu][Aide Informatique] Programme VBA Empty
MessageSujet: Re: [Résolu][Aide Informatique] Programme VBA   [Résolu][Aide Informatique] Programme VBA Icon_minitimeMer 24 Avr 2013 - 17:35

Si j'avais excel je me serais amusée à essayer de comprendre tout ça... mais j'ai pas excel :/ Désolée de pas pouvoir aider :/ Y'a pas de forums spécialisés qui parlent d'excel, tu trouverais sans doute ton bonheur sur certains d'entre eux.
Revenir en haut Aller en bas
http://thecircezone.wordpress.com
Invité
Invité
Anonymous


[Résolu][Aide Informatique] Programme VBA Empty
MessageSujet: Re: [Résolu][Aide Informatique] Programme VBA   [Résolu][Aide Informatique] Programme VBA Icon_minitimeMer 24 Avr 2013 - 17:37

je n'y connais rien en vba ^^ mais j'ai des notions en code et c'est toujours la même logique Razz
bref tout ça pour dire que je ne suis pas sur à 100% ^^
tout d'abord:
dans ton code principal, il y a un if (à la fin) et ton while qui ne sont pas fermés, est ce normal?
édit: j'ai rien dit ton while est bien fermé mais il manque quand même un "end if " à la fin

es tu sur d'appeler ton Doevents au bon endroit?

je vais plus me pencher dessus, j'comprend pas tout pour le moment ^^


édit: tu appelles ton Doevents dans ton while, du coup si tu ne sors pas du while c'est que tu correspond toujours aux critères (X = L And Y = C)
pour que tu sortes de cette boucle il faudrait que tu rajoutes dans ton Doevents une ligne qui ferait que X soit différent de L ou que Y soit différent de C
Revenir en haut Aller en bas
kelk1
Fou/Folle
Fou/Folle
kelk1

Organisation Évent mystère (choix des membres) Légende Arthurienne

Masculin Age : 29
Niveau de folie : 4389
Messages : 307
Lieu : à la taverne !!

[Résolu][Aide Informatique] Programme VBA Empty
MessageSujet: Re: [Résolu][Aide Informatique] Programme VBA   [Résolu][Aide Informatique] Programme VBA Icon_minitimeMer 24 Avr 2013 - 18:00

grace à ce que tu m'a dis j'ai compris qu'en réalité je n'avais plus besoin de ma boucle while ^^' !
du coup ça marche bien je n'ai plus le message gagné a l'infini ^^
cependant desormais j'ai comme un clignotement perpetuel de la feuille excel puisque il attend/cherche fin fait quelque chose ^^
de plus j'ai 2 fois le message perdu ou le message gagné mais bon ... ça je peux m'en débrouiller je pense :/
Revenir en haut Aller en bas
Invité
Invité
Anonymous


[Résolu][Aide Informatique] Programme VBA Empty
MessageSujet: Re: [Résolu][Aide Informatique] Programme VBA   [Résolu][Aide Informatique] Programme VBA Icon_minitimeMer 24 Avr 2013 - 18:06

tant mieux si j'ai réussi à t'aider un peu ^^
(même si je comprend toujours pratiquement rien à ton code sweat )

Kelk1 a écrit:
j'ai comme un clignotement perpetuel de la feuille excel puisque il attend/cherche fin fait quelque chose ^^
il attend peut être que tu fermes ton if à la fin ^^
Revenir en haut Aller en bas
kelk1
Fou/Folle
Fou/Folle
kelk1

Organisation Évent mystère (choix des membres) Légende Arthurienne

Masculin Age : 29
Niveau de folie : 4389
Messages : 307
Lieu : à la taverne !!

[Résolu][Aide Informatique] Programme VBA Empty
MessageSujet: Re: [Résolu][Aide Informatique] Programme VBA   [Résolu][Aide Informatique] Programme VBA Icon_minitimeMer 24 Avr 2013 - 19:32

C'est bon j'ai résolu le problème et par la meme occasion j'ai fini mon démineur Very Happy
Revenir en haut Aller en bas
Invité
Invité
Anonymous


[Résolu][Aide Informatique] Programme VBA Empty
MessageSujet: Re: [Résolu][Aide Informatique] Programme VBA   [Résolu][Aide Informatique] Programme VBA Icon_minitimeMer 24 Avr 2013 - 19:33

wave bravo Smile
Revenir en haut Aller en bas
kelk1
Fou/Folle
Fou/Folle
kelk1

Organisation Évent mystère (choix des membres) Légende Arthurienne

Masculin Age : 29
Niveau de folie : 4389
Messages : 307
Lieu : à la taverne !!

[Résolu][Aide Informatique] Programme VBA Empty
MessageSujet: Re: [Résolu][Aide Informatique] Programme VBA   [Résolu][Aide Informatique] Programme VBA Icon_minitimeMer 24 Avr 2013 - 19:43

merci a vous Very Happy pour votre aide Smile
eh oui je te vouvoie Razz
et les modadmines peuvent fermer ce sujet ...
Revenir en haut Aller en bas
Invité
Invité
Anonymous


[Résolu][Aide Informatique] Programme VBA Empty
MessageSujet: Re: [Résolu][Aide Informatique] Programme VBA   [Résolu][Aide Informatique] Programme VBA Icon_minitimeMer 24 Avr 2013 - 19:48

je t'ai pas vraiment aidé ^^ c'est toi qui a compris ton erreur tout seul Smile

si tu continues à me vouvoyer je te tronçonne en deux Mad
Revenir en haut Aller en bas
Contenu sponsorisé




[Résolu][Aide Informatique] Programme VBA Empty
MessageSujet: Re: [Résolu][Aide Informatique] Programme VBA   [Résolu][Aide Informatique] Programme VBA Icon_minitime

Revenir en haut Aller en bas
 

[Résolu][Aide Informatique] Programme VBA

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» [Résolu][Aide Informatique] Je peut plus mettre une image de format 640x300 sur écran
» [Aide Informatique] Plus de réseau , donc j'ai plus internet sur mon pc portable
» [Informatique] Votre bureau
» [Informatique] Entre vous et la pomme, c'est comment vos relations ?
» [Conseil Informatique] Nouvel ordinateur

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Terre d'Asile :: Discussions :: Divers-