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 pour calcul sur commande d'un onglet


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Macro pour calcul sur commande d'un onglet
    Bonjour,

    Je souhaiterais mettre en place une macro qui s'applique sur un onglet d'un classeur et permet de bloquer le calcul automatique uniquement sur cet onglet et d'avoir un bouton déclenchant le calcul des formules pour l'onglet.

    Comment doit-je m'y prendre ?

    Merci

  2. #2
    Membre habitué
    Homme Profil pro
    Chargé d'Ingénierie et d'Analyses en Ressources Humaines
    Inscrit en
    Novembre 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'Ingénierie et d'Analyses en Ressources Humaines
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 63
    Points : 169
    Points
    169
    Par défaut
    Bonsoir,

    Voici la macro qui te correspond :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Calcul()
    With Sheets("feuil1")
        ' Effectue le calcul de la feuille
        Calculate
        ' Désactive le calcul automatique de la feuille
        Application.Calculation = xlManual
    End With
    End Sub
    Une recherche via l'éditeur de macro et tu avais le code.

    Chtik

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par Chtik Voir le message
    Bonsoir,

    Voici la macro qui te correspond :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Calcul()
    With Sheets("feuil1")
        ' Effectue le calcul de la feuille
        Calculate
        ' Désactive le calcul automatique de la feuille
        Application.Calculation = xlManual
    End With
    End Sub
    Une recherche via l'éditeur de macro et tu avais le code.

    Chtik
    Heu ?

    Le calcul sera bloqué certes, mais sur tous les onglets donc le classeur! Je ne crois pas qu'il soit possible de le bloquer sur un seul onglet!
    Cordialement,

    Jijie

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    C'est juste un oublie du point au niveau du .Calculate pour le lier avec le With, c'est pour ça.
    ...et vu que Calculate est déclaré dans l'espace global de la bibliothèque Excel, ça ne génère pas d'erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Calcul()
        With Sheets("Feuil1")
            ' Effectue le calcul de la feuille
            .Calculate
            ' Désactive le calcul automatique de la feuille
            Application.Calculation = xlManual
        End With
    End Sub

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2014
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Nouveau2 Voir le message
    Bonsoir,

    C'est juste un oublie du point au niveau du .Calculate pour le lier avec le With, c'est pour ça.
    ...et vu que Calculate est déclaré dans l'espace global de la bibliothèque Excel, ça ne génère pas d'erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Calcul()
        With Sheets("Feuil1")
            ' Effectue le calcul de la feuille
            .Calculate
            ' Désactive le calcul automatique de la feuille
            Application.Calculation = xlManual
        End With
    End Sub
    Bonjour,
    Merci pour la réponse,
    Mais la macro ne fonctionne pas comme je l'espère , elle bloque le calcul pour tous les onglets, alors que je voudrais garder le calcul automatique sur tous les onglets sauf un.
    C'est possible ?

  6. #6
    Membre régulier
    Profil pro
    ERP + Oracle + VBA Excel
    Inscrit en
    Juin 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : ERP + Oracle + VBA Excel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2005
    Messages : 58
    Points : 78
    Points
    78
    Par défaut
    Bonjour,

    Pourquoi ne pas simplement désactiver / activer le calcul lors de l'activation de la page du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Worksheet_Activate()
     
     
    Application.Calculation = xlCalculationManual
     
     
    End Sub
     
    Private Sub Worksheet_Deactivate()
     
    Application.Calculation = xlCalculationAutomatic
     
    End Sub

  7. #7
    Invité
    Invité(e)
    Par défaut Salut
    Ah oui, effectivement, j'ai lu de travers.
    Pour le calcul manuel et auto, c'est au niveau de l'instance d'Excel (tous les classeurs d'une instance affectés par cette option).

    Pour ma part, je ne sais pas, je laisse la main aux autres.

Discussions similaires

  1. [XL-2003] MAcro pour calcul automatique uniquement sur l'onglet actif
    Par Arndt dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/07/2010, 15h12
  2. Macro pour imprimer sur "l'imprimante par défaut"
    Par Balboa24 dans le forum VBA PowerPoint
    Réponses: 2
    Dernier message: 11/01/2009, 00h02
  3. Macro pour calculer 5700 cellules
    Par Blord dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 28/10/2008, 20h14
  4. macro pour calculer la vitesse d'execution d'une macro
    Par victorzecat dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 08/12/2007, 14h34
  5. Excel : Macro pour positionnement sur ligne
    Par danielh dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/10/2006, 08h45

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