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 tester automatiquement le calcul automatique à l'ouverture d'un fichier Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2018
    Messages : 14
    Par défaut Macro pour tester automatiquement le calcul automatique à l'ouverture d'un fichier Excel
    Bonjour à tous, je suis encore novice sur excel et je cherche à créer une macro permettant de tester si le calcul automatique est activé à l'ouverture d'un fichier excel.

    J'ai tout d'abord essayer le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub auto_open()
     
        If Application.Calculation <> xlCalculationAutomatic Then
            MsgBox "Veuillez activer le calcul automatique avant l'utilisation du fichier", vbExclamation, "Avertissement"
        Else
            MsgBox "Le calcul automatique est déjà activé"
        End If
     
    End Sub
    de même le code suivant fonctionne aussi lorsque je le place dans la rubrique ThisWorkbook du fichier ouvert
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Workbook_Open()
     
        If Application.Calculation <> xlCalculationAutomatic Then
            MsgBox "Veuillez activer le calcul automatique avant l'utilisation du fichier", vbExclamation, "Avertissement"
        Else
            MsgBox "Le calcul automatique est déjà activé"
        End If
     
    End Sub
    Ce code fonctionne parfaitement lorsque je le met dans le module du fichier déjà ouvert et que je le ré-ouvre, je veux désormais qu'il s’exécute pour n'importe quelle fichier excel que j'ouvre.

    J'ai donc chercher sur internet comment faire. J'ai alors trouver qu'il fallait ouvrir une classeur vierge, écrire la macro dans ThisWorkbook et appeler la procédure "Private sub Workbook_Open()" et ensuite enregistrer le classeur comme étant un complément d'excel (.xlam). Puis à l'ouverture d'u fichier, aller dans l'onglet développeur, sur complément excel et activer la macro que je viens de créer. le soucis est que j'ai le message d'erreur suivant, sur la ligne portant la condition if :
    Nom : Capture2.PNG
Affichages : 903
Taille : 3,6 Ko

    J'ai continué mes recherches et je suis tombé sur une autre façon de faire, sur ce site : https://support.office.com/fr-fr/art...0-6e4c3f5ee566
    J'ai alors créé mon fichier PERSONAL.XLSB que j'ai enregistrer dans XLSTART et j'y ai inséré ma macro dedant. j'ai exactement le même message d'erreur.

    J'ai alors tenter d'utiliser le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Workbook_Open()
     
        If ActiveWorkbook.Application.Calculation <> xlCalculationAutomatic Then
            MsgBox "Veuillez activer le calcul automatique avant l'utilisation du fichier", vbExclamation, "Avertissement"
        Else
            MsgBox "Le calcul automatique est déjà activé"
        End If
     
    End Sub
    cette fois ci j'ai le message d'erreur suivant, il porte lui aussi sur la condition if à la ligne 3 :
    Nom : Capture.PNG
Affichages : 823
Taille : 4,1 Ko

    j'ai alors réessayé d'utiliser la procédure auto_open() mais le même message d'erreur apparaît.
    J'ai essayer d'enregistrer mon fichier .xlam dans XLSTART mais rien n'y fais j'ai toujours un message d'erreur, il apparaît aussi lorsque je lance excel sans ouvrir de fichier et la je comprend vraiment pas pourquoi. Pourtant les codes marche parfaitement lorsqu'ils sont intégré au fichier en lui même mais ne fonctionne pas du tout lorsqu'ils sont en complément excel ou dans le fichier PERSONAL.XLSB.

    Ne voulant pas copier coller la macro dans tous mes fichiers excel que j'utilise et que je vais utiliser, je voulais savoir si d'une part c'était possible de tester le calcul automatique à l'ouverture d'un fichier excel et d'autre part comment résoudre mon problème.

    Si quelqu'un pouvais me venir en aide ce serait top !!
    Merci a vous d'avoir pris le temps de lire ce pavé

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2018
    Messages : 14
    Par défaut
    J'ai maintenant cette erreur Nom : Capture.PNG
Affichages : 776
Taille : 5,9 Ko sur le signe = de la condiction if
    lorsque j'utilise ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub auto_open()
     
        If Excel.XlCalculation = xlCalculationAutomatic Then
            MsgBox "Le calcul automatique est déjà activé"
        Else
            MsgBox "Veuillez activer le calcul automatique avant l'utilisation du fichier", vbExclamation, "Avertissement"
        End If
     
    End Sub
    j'utilise cette macro dans le module de PERSONAL.XLSB

    je sais plus quoi faire

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2018
    Messages : 14
    Par défaut
    J'ai essayer de changer le mode de calcul directement à l'ouverture d'un fichier avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub auto_open()
        Dim statut_calcul As Integer
        statut_clacul = Excel.XlCalculation.xlCalculationAutomatic
        Application.Calculation = xlCalculationAutomatic
        End Sub
    mais j'ai ce message d'erreur
    Nom : Capture.PNG
Affichages : 781
Taille : 5,3 Ko
    Je crois que j'ai vraiment besoin de vous

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 5
    Par défaut Il n'est jamais trop tard
    Un peu tard mais ça pourrait intéresser quelqu'un d'autre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    dim checkCalculclasseur as string
     
    checkCalculclasseur = Application.Calculation
     
    'Résultat checkCalculclasseur :
    'xlAutomatic = "-4105"
    'xlCalculationsemiautomatic = "2"
    'xlCalculationManual = "-4135"
     
    If checkCalculclasseur = "-4135" then
    Feuil1.Range("B6:F25").Calculate
    Endif
    si ça peut faire gagner 10min de recherche

  5. #5
    Membre chevronné
    Homme Profil pro
    Formateur bureautique
    Inscrit en
    Janvier 2021
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Formateur bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2021
    Messages : 302
    Par défaut Astuce
    Bonjour
    pour ma part, je vais faire 1000 fois plus simple : placer le bouton dans la barre d'outils accès rapide
    cela met un case à cocher dans la barre et en un coup d'œil je sais si c'est en calcul auto ou pas

    Personnaliser barre d'outils accès rapide / Autres commandes / Onglet formule
    et c'est le 4e de la liste (coche avec écrit automatique à côté)

    Certes, cela ne met pas de message à l'ouverture ...
    et certes, il faut passer par le menu formule pour aller le changer si nécessaire...
    mais bon...

    Fabien

Discussions similaires

  1. macro pour mesure automatique de surfaces imagej
    Par kryss01s dans le forum Traitement d'images
    Réponses: 3
    Dernier message: 05/08/2013, 14h05
  2. Macro pour faxer "automatiquement"
    Par emulamateur dans le forum VBA Word
    Réponses: 1
    Dernier message: 06/10/2009, 19h32
  3. tactiques pour tester automatiquement des taches manuelles/réelles/physiques
    Par fourchette dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 25/03/2009, 18h31
  4. Macro pour changer automatiquement certaines cellules?
    Par Zantetsu dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/01/2009, 19h54

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