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 :

Macro "Calculate" sans boucle.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 179
    Par défaut Macro "Calculate" sans boucle.
    Bonjour le forum,

    je viens solliciter votre aide pour résoudre le problème suivant : supprimer une boucle dans la Macro "Calculate" utilisée dans la feuille Noire du fichier joint.

    Dans les 2 feuilles, il est possible de saisir une Valeur dans la Cellule "T40" après avoir cliqué sur le bouton situé en "R1".
    Il est possible, ensuite, de calculer la valeur "K début" correspondante qui s'inscrira en "AY" et "AX40"
    - dans la feuille Rouge en cliquant sur le bouton situé en "AX8"
    - dans la feuille Noire avec la Macro "Calculate" pour ne pas avoir à cliquer sur le bouton 1 situé en "AX8".
    Malheureusement, dans ce cas, la Macro "Calculate" effectue une boucle.
    Ma question est donc : est-il possible de supprimer cette boucle et si oui, de quelle façon ?

    Je vous remercie pour vos réponses et vous souhaite un bon après-midi.
    Cordialement.

    Nonno 94.

  2. #2
    Membre éclairé
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Septembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyste Programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 32
    Par défaut
    Bonjour Nonno 94,

    Si je comprends bien ton problème, c'est que l'événement calculate s’auto-déclenche et crée donc une boucle infinie.
    Si c'est bien ça, mets juste cette ligne au tout début du sub de calculate :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.EnableEvents = False
    et ensuite juste à la fin du Sub tu mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.EnableEvents = True
    Normalement l'événement ne devrais plus s'appeler lui même car tu désactive les événement le temps de l’exécution du code

    En espérant t'avoir aidé

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 179
    Par défaut Re,
    Bonjour Kaëléphine et merci pour la réponse,

    si j'ai bien compris, le code doit commencer ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_Calculate()                   'Saisie d'un acompte versé dans les Colonnes M à Q'
     
    Application.EnableEvents = False
     
     
    If Range("BB74").Value <> 0 Then
    et se terminer ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    End If
     
    Application.EnableEvents = True
     
    End Sub
    Si tel est le cas, la Macro ne "démarre" pas !!!
    Dommage !

    A +.

  4. #4
    Membre éclairé
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Septembre 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyste Programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 32
    Par défaut
    Bonjour,

    C'est exactement ce que je voulais que tu fasse mais du coup j'ai regardé ton code

    Bon déjà j'ai aucune idée de ce que tu veux faire, aucun commentaire et tes posts sur le forum sont peu explicite.

    J'ai trouvé une quantité d'erreur assez incroyable que j'ai corrigé (Entre nous j'ai pas regardé tout ton code donc à mon avis il te reste pas mal de chose à changé )

    Sinon moi l'événement calculate ce lance et fait quelque chose, quoi j'en sais rien mais il bug pas, ni ne plante ^^ .

    Je t'ai mis le fichier en pièce jointe.

    A aussi j'ai du changé une partie de ton fichier parce que ta macro ce lance que si une cellule est différente de rien. Hors avec les formules que tu avais mis elle était toujours = à rien. Donc j'ai changé des formules qui me paraissaient logique.

    Vois si ça fait toujours ce que tu souhaite.
    Fichiers attachés Fichiers attachés

  5. #5
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    Bonjour

    A part le if, ta macro calculate est identique a la macro declenché par le bouton en Ax8 qui elle, semble fonctionnelle.
    donc laissé le IF et appelé la macro qui est activé par ce bouton.

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