IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

memory vba pour excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Par défaut memory vba pour excel
    Bonsoir,
    j'ai encore une question au sujet de mon projet memmory. Ce jeu consiste à retrouver les paires de cartes en les retournant deux à deux.
    Dans mon projet, je clique sur la première carte, elle se retourne. En cliquant sur la deuxième carte, un message de confirmation du choix apparaît. En répondant oui, les deux cartes doivent apparaître pendant un certain temps (assez court) puis se retourner.
    Cependant, avec le code que j'ai établi, des fois je vois les deux cartes pendant ce délai, des fois seule la première carte est seule à apparaître puis disparaître sans avoir vu la deuxième carte. Voici le bout de code qui pose problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    chemin = (ThisWorkbook.Path + "\" + CStr(TableauCartes(Carte)) + ".bmp")
     
            TabImages(Carte).Picture = LoadPicture(chemin)
     
            TabImages(Carte).BringToFront ' force le rafraichissement de l'image
            TabImages(Carte).Refresh
            TabImages(Carte).Repaint (0)
        For j = 1 To 25
     
            Sleep (260)
     
            DoEvents
     
        Next

    Avant la boucle correspondant au temps où l'utilisateur peut voir les deux cartes, j'avais initialement placé BringToFront. Ensuite, on m'a dit qu'il fallait utilisé refresh ou repaint. Ceci s'est révélé être sans succès. J'ai alors laissé les trois dans le code.

    Pourriez-vous me dire comment faire pour que dans un délai de 4 secondes les deux cartes soient visibles et se retournent si elles ne sont pas identiques (sans utiliser de Timer puisque en vba pour excel il faut recréer un timer et cela ne me plait pas trop)?

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Hello,
    Essaie en ajoutant DoEvents entre l'affichage de tes deux cartes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            TabImages(Carte).Picture = LoadPicture(chemin)
            DoEvents
            TabImages(n).Picture = LoadPicture(chemin2)
            DoEvents
    Ça pourrait suffire
    A+

    (je n'ai pas réussi ni à joindre ici ni à t'envoyer le fichier dont je t'avais parlé
    Je vais changer de messagerie !)

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tout vient à point qui sait attendre et Patience et longueur de temps valent mieux que... ni que rage et enfin Chose promise chose due...
    Bref j'ai réussi à faire maigrir mon fichier de 7,6 Mo à 302 ko et maintenant ça devrait passer.
    Juste pour montrer qu'avec un userform... tu aurais pu
    Pièce jointe 13094 Il ne fait sans doute pas ce que tu veux mais comme je ne connaissais pas toutes les règles, j'ai fait avec
    Regarde ta boîte, je t'ai posé des questions
    En espérant ne pas arriver trop tard.
    A+

    NB - Extraire tous les fichiers du Zip, sans ça, ça ne fonctionne pas.
    Le répertoire importe peu mais tout doit être mis dans le même.
    Je regarde si je peux le faire fonctionner sans extraction

Discussions similaires

  1. [VBA pour Excel] Différence entre activate et select
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/10/2008, 17h20
  2. vba pour excel
    Par marcm dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/02/2007, 09h00
  3. [VBA-E] Help création d'un programme vba pour excel
    Par yampi dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/01/2007, 11h46
  4. [VBA-E] tri sur VBA pour Excel
    Par mariedrouin dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 21/05/2006, 13h32
  5. Réaliser une macro en VBA pour excel afin de créer un graphe
    Par xavier le breuil dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/12/2005, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo