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 :

[VBA Excel] Calcul automatique


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut [VBA Excel] Calcul automatique
    Bonjour,

    J'ai une application Excel et je voudrais que pour cette application spécifique, les calculs ne se fassent pas automatiquement mais sur ordre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub Manuel()
        With Application
            .Calculation = xlManual
            .MaxChange = 0.001
            .CalculateBeforeSave = False
        End With
        ActiveWorkbook.PrecisionAsDisplayed = False
    End Sub
    J'ai utilisé le générateur de code en enregistrant la macro mais ca fonctionne pas... a chaque fois que je fais un changement dans l'appli, j'ai malgré tout un recalcul. Il faudrait de la macro s'effectue au démarrage pour cette appli uniquement. Ca doit etre assez facile à faire mais j'ai pas encore trouvé la manière de le faire...

    Si qq peut me donner une indication

    Merci

  2. #2
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    oups question idiote a priori j'avais la réponse juste avt Merci

  3. #3
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    en fait non tjs pas :s
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Calculation = xlCalculateManual
    J'ai essayé de mettre cette ligne au niveau du workbook sans succes :s

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 52
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par trihanhcie
    Bonjour,
    J'ai une application Excel et je voudrais que pour cette application spécifique, les calculs ne se fassent pas automatiquement mais sur ordre.
    Quand tu dis pour cette application spécifique, tu parles du classeur. Moi je le comprends comme ça.
    Donc voivi quelques lignes, elle empêchent le recalcul dans toutes le feuilles du classeur (sub Manuel) et réactivent le calcul auto (sub CalculAuto).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub Manuel()
    Dim w As Worksheet
     
    For Each w In ThisWorkbook.Worksheets
        w.EnableCalculation = False
    Next
     
    End Sub
     
    Sub CalculAuto()
     
    Dim w As Worksheet
     
    For Each w In ThisWorkbook.Worksheets
        w.EnableCalculation = True
    Next
     
    End Sub

  5. #5
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    oui désolé en effet, application spécifique je voulais dire classeur.

    Ca ne fait pas tout à fait ce que je voudrais pour la fonction.

    En fait, j'aurai voulu une exécution sur ordre plutôt au niveau du classeur et sans rajout d'un bouton quelconque.

    Je m'explique :
    Dans les options d'Excel, on peut choisir de faire les calculs sur ordre ou automatique. L'inconvénient est qu'il est valable pour toutes les applications Excel.

    La fonction que tu as donné fonctionne mais elle m'empêche de faire un calcul sur ordre. Est il possible de le faire sans rajouter un bouton pour permettre le calcul?

  6. #6
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Tu peux associer des raccourci clavier à tes macros.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 52
    Points : 58
    Points
    58
    Par défaut
    Salut,

    Pour désactiver le calcul automatique dès l'ouverture de ton classeur, appelles la procédure Manuel dans la procédure workbook_open()

    C'est dans le module de l'objet Workbook.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Workbook_Open()
        Manuel
    End Sub
    Puis tu associes un raccourci clavier pour activer ou désactiver le calcul automatique. Dans le fenêtre des Macros (Alt+F8) du classeur, sélectionnes une procédure (exemple Manuel()) et cliques sur options puis choisis un raccourci clavier (Crtl+qqch).
    Même chose pour la procédure CalculAuto() tu lui associes un raccourci

    Voilà a l'ouverture ton classeur sera en manuel et tu auras deux raccourcis clavier pour réactiver ou désactiver le calcul auto de CE CLASSEUR.

Discussions similaires

  1. [VBA-excel] Filtre automatique et TextBox
    Par DVano dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/10/2006, 17h02
  2. [VBA-Excel] Calcul d'une formule avec une inconnue
    Par micwiss dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/10/2006, 16h04
  3. (vba excel) Copie automatique de charts
    Par moicwill dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/07/2006, 18h17
  4. [VBA Excel] Copie automatique d'une donnée
    Par Viper7 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/07/2006, 13h21
  5. [VBA-E] calculs automatique sur une seule feuille
    Par repié dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/03/2006, 11h53

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