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 :

Programme VBA Excel en boucle


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Programme VBA Excel en boucle
    J'ai un programme de simulation dynamique qui vient lire des entrees des certaines cellules du tableur, qui effectue les calculs correspondants et ecrit les sorties sur la meme feuille, mon programe tourne indefiniment, ce que je n'arrive pas a faire c'est que je voudrais pouvoir modifier le contenu de certaines des cellules lus par mon programe pendant que celui-ci continue de tourner et sans l'arreter par la touche Esc et le relancer.
    Si quelqu'un a des idees elles seront bienvenues.

  2. #2
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 36
    Points : 28
    Points
    28
    Par défaut
    pourquoi ne pas lancer via un bouton et l'arreter via un bouton aussi ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 288
    Points : 364
    Points
    364
    Par défaut
    Tu devrais essayer de mettre la commande "DoEvents" quelque part dans ta boucle.

  4. #4
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Ca ne marche pas car le programme continue de tourner sans me donner la main.
    Je donne ci apres un exemple plus clair de ce que je n'arrive pas a faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub exemp
      x=5
      Do
        x=Range("A1")
        Range("A2")=Range("A2")+x
      Loop
    End Sub
    Dans cet exemple, a chaque passage de la boucle la cellule A2 s'incremente de 5.
    Sans interrompre la boucle je voudrais pouvoir changer la valeur de la cellule A1 (10 par exemple) pour que A2 s'incremente de 10 en 10.

    Ce programme ne sert a rien mais il illustre bien mon probleme.

    Merci a tous

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    C'est curieux, si je suis le conseil de neupont
    Citation Envoyé par neupont Voir le message
    Tu devrais essayer de mettre la commande "DoEvents" quelque part dans ta boucle.
    Et en y ajoutant une gestion d'erreur, j'arrive à faire ce que tu veux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub exemp()
      Dim x As Integer
      Do
        DoEvents
        On Error Resume Next
        x = Range("A1")
        Range("A2") = Range("A2") + x
      Loop
    End Sub
    Pense à utiliser les balises [code] lorsque tu postes du code.

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonjour (et un salut à AlainTech),


    Attention ...

    Ce genre de boucle devrait se traduire assez rapidement par une surchauffe du processeur (on devrait entendre le ventilateur de refroidissement commencer à s'énerver en moins de 2 minutes)...

  7. #7
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci, en ajoutant la gestion d'erreur ca marche comme je voulais

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Programmation VBA Excel 2007
    Par manuelbrunet dans le forum Excel
    Réponses: 14
    Dernier message: 05/06/2014, 19h32
  2. [XL-2010] Programmation VBA excel 2010
    Par athen dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/03/2013, 14h52
  3. Programmation VBA Excel UserForm
    Par rifchavon dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/03/2007, 08h52
  4. Réponses: 3
    Dernier message: 31/08/2006, 10h22

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