Projet vba en excel sur les jeux

cherche personne ayant fait deja un projet en vba sue excel ou word, mon adresse mail: lezingouala@yahoo.fr

7 réponses

  1. Bonjour je réalise des jeux sous excel par macro et VBA
    Que cherches tu exactement ?
    0
    1. bonjour
      j'ai deja réalisé pas mal de projet en VBA(exel) sur un peu de tout
      je pose donc la meme question que marchand : que cherches tu exactement ?
      0
      1. pour la réalisation de jeux vous utilisez des objets ou des caracteres/couleurs avec les cellule ?

        pour ce qui est des objets j'aimerai savoir si c'est possible de les deplacer lentement d'un point à un autre.j'ai essayer ceci mais ça ne marche pas

        ActiveSheet.Shapes("Oval 1").Select
        For i = 1 To 500
        Selection.ShapeRange.IncrementLeft 1
        Next i

        l'objet se deplace d'un seul coup

        0
        1. Bonjour,

          ce code :

          ActiveSheet.Shapes("Oval 1").Select
          For i = 1 To 500
          Selection.ShapeRange.IncrementLeft 1
          Next i

          implique que le travail de la boucle est exécuté dans
          un delai d'environ 500 millisecondes.

          essayer :
          ActiveSheet.Shapes("Oval 1").Select 
          For i = 1 To 500 
            Selection.ShapeRange.IncrementLeft 1 
            For j = 1 To 1000
              K = k + 1
            Next j
          Next i 
          


          vous devriez donc exécuter le travail dans un delai d'environ
          500 secondes !

          Lupin
          0
          1. ça ne marche pas. l'ordinateur met effectivement plus de temps à calculer mais n'affiche pas les déplacement intermédiaires, seulement le résultat final. il faudrait une instruction qui actualise l'écran mais je ne sais pas si cela existe.
            0
            1. Bonjour,

              et comme ceci :

              Sub Deplace()
              
                  Dim i As Integer
              
                  Sheets("Feuil1").Shapes("Oval 1").Select
                  
                  For i = 1 To 500
                      Application.ScreenUpdating = False
                      Selection.ShapeRange.IncrementLeft 1
                      Application.ScreenUpdating = True
                  Next i
              
              End Sub
              '
              


              Lupin
              0
              1. La solution de rajouter une boucle inutile dans la première boucle va effectivement ralentir l'exécution, mais en aucun cas garantir la durée du traitement. En effet cette durée va être inversement proportionnelle à la vitesse du processeur.

                Je vous conseille plutôt d'utiliser la fonction 'Wait', qui permet elle de déterminer un temps d'attente, en millisecondes, avant d'effectuer une action.

                Il est possible qu'il faille également rajouter les 'ScreenUpdating', comme le suggérait Lupin.

                Bon courage

                Baptiste
                0
            2. voici un code qui marche bien

              ActiveSheet.Shapes("Oval 1").Select
              For i = 1 To 500
              Selection.ShapeRange.IncrementLeft 1
              application.calculate 'pour ralentir un peu
              Next i

              essaie et dis moi
              0