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 :

ScreenUpdating= False me plante Excel 365 [XL-365]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    ancien Chef de projets R&D industrie
    Inscrit en
    Juillet 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : ancien Chef de projets R&D industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2022
    Messages : 9
    Points : 3
    Points
    3
    Par défaut ScreenUpdating= False me plante Excel 365
    bonjour,

    mes macros marchent depuis plusieurs années et soudainement depuis 1 semaine, le lancement de cette macro plante excel365 et fige la feuille de calcul...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    'initialisation
            Application.ScreenUpdating = False
            ActiveSheet.Unprotect
     
    'Début Gestion du type de document...
    Je me suis aperçu qu'en désactivant la ligne Application.ScreenUpdating = False, la macro refonctionne correctement... mais hélas avec le scintillement très laid.

    Avez-vous les mêmes soucis ?

    Comment contourner ce bug de la dernière mise à jour d'office 365 ! Existe-t-il une fonction quelconque qui me permettrait de supprimer ce scintillement sans utiliser screenupdating ?

    Merci à tous !

  2. #2
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 006
    Points
    1 006
    Par défaut
    Alors là c'est la première fois que j'entends ça.

    Il m'est déjà arrivé qu'Excel me dise qu'il ne connait pas certaines fonctions basiques pourtant internes et à chaque fois cela était du à un manque de références (menu "outil" choix "reference" vérifie qu'aucune ne soit taguée "inexistant") mais jamais sur screen.updating.

    Après vérification des références essaye de lancer le code sur un autre PC.
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

  3. #3
    Candidat au Club
    Homme Profil pro
    ancien Chef de projets R&D industrie
    Inscrit en
    Juillet 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : ancien Chef de projets R&D industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2022
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Je confirme le bug...
    Effectivement, cela marche très bien sur mon PC avec Excel 2016.

    Sur ce poste win10 avec office 365, j'ai dû désactiver toutes les lignes application.screenupdating de mes macros, pour ne pas planter Excel.
    Est ce un bug 365 ou un bug machine ???
    A suivre, car j'ai d'autres machines identiques avec Excel 365, et je m'attends à d'autres plantages en série...

    Merci pour vos réponses,
    Stephane

  4. #4
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 006
    Points
    1 006
    Par défaut
    Si tes références sont OK sur le PC qui plante alors il n'y a aucune raison qu'Excel t'affiche ce message.

    Pour moi il s'agit d'un problème de poste; installation d'Excel altérée ou fichier corrompu.

    Si tu veux j'ai accès à Office 365 client lourd sur un PC. Envoie ton fichier (selon données) et j'essaierai.

    Sinon pour répondre réellement à la question je ne connais pas d'équivalent à te conseiller.
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

  5. #5
    Candidat au Club
    Homme Profil pro
    ancien Chef de projets R&D industrie
    Inscrit en
    Juillet 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : ancien Chef de projets R&D industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2022
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Merci pour votre aide...
    Ci-joint le fichier Excel avec code VBA.
    Je compte sur vous pour votre discrétion... en effet c'est un tarif d'auto école qui fait aussi office de devis en automatique. il suffit de changer les quantités à gauche, ou sélectionner devis ou tarif dans la cellule adéquate, pour lancer la macro

    Le screenupdating est dans le code VBA de la feuille 1 et désactivé dans ce cas.
    Fichiers attachés Fichiers attachés

  6. #6
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 006
    Points
    1 006
    Par défaut
    Ok je regarde ce soir ou demain.
    Pas de souci pour moi pour ne pas divulguer mais ce forum est accessible à tout le monde.
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour Steph56, Alex020181

    Je passais par ici et je suis tombé sur ce curieux titre

    Ce n'est jamais un "ScreenUpdating" qui fait planter le PC, mais le code qui se trouve après.

    A priori, rien de particulier de ce côté... et lorsque j'ai activé l'option et modifier une quantité rien n'a planté

    Etrange !?

    A+

  8. #8
    Candidat au Club
    Homme Profil pro
    ancien Chef de projets R&D industrie
    Inscrit en
    Juillet 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : ancien Chef de projets R&D industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2022
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    C'est vrai... mais là, c'est bien le "screenupdating" qui me fige le classeur (vérifié en pas à pas) et non pas la commande suivante !
    le plantage survient quand je passe de mode devis à mode tarif ou inverse (survoler le mot "DEVIS" pour visualiser le menu déroulant sur cette cellule)

    Merci de vous intéresser à ce bug, qui je pense, doit venir d'une maj 365 qui s'est mal passée...

  9. #9
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 006
    Points
    1 006
    Par défaut
    Hello à vous 2

    Comme promis j'ai récupéré votre fichier et fait les manipulations pour reproduire votre erreur.

    Je suis allez dans le code pour activer et désactiver la ligne Application.ScreenUpdating = False.
    Ensuite, dans les 2 cas (activation ou non de cette ligne de code) j'ai changé le menu déroulant "B3" en "Tarif", "Devis" et même choisi les valeurs nulles présentes dans le menu déroulant.
    Puis, encore pour chacun des cas, j'ai modifié les valeurs existantes des quantités en "B".
    Je n'ai jamais eu d'erreur de débogage de code. Votre code ne m'a jamais affiché de fenêtre d'erreur et de proposition de débogage.
    Je n'ai pas du tout prêté attention aux résultats affichés sur la feuille. Je vous laisse cette partie puisque ce n'est pas l'objet de votre demande.


    Il y a toutefois un test que j'ai voulu faire et qui m'a retourné un message d'erreur; mettre une quantité en "B" sans avoir prérempli en "C" la désignation de la prestation. Dans ce cas j'ai une erreur de type qui apparaît mais le bouton débogage ne m'amène pas sur Application.ScreenUpdating = False. Il me surligne TotauxDynamiques = Range("totaux").Value de votre module Sub E110_CALCULS_TVA(). Ce qui est logique puisque vous avez déclaré votre variable TotauxDynamiques en single alors que dans ce cas précis Range("totaux").Value ("I28") est "#N/A".

    Je n'ai donc pas, au vu de ce fichier, de réponse concrète à vous apporter. Application.ScreenUpdating = False n'a aucune raison de faire planter du code.

    Étant donné:
    • que j'ai testé avec 365 comme vous et que nous n'avons pas le même comportement du même fichier
    • que Application.ScreenUpdating = False n'a aucune raison de faire des siennes
    • que le test avec Excel 2016 ne produit pas cette erreur non plus


    je pencherai plutôt pour un problème concernant l'installation du pack Office.

    On peut faire un test simple; fermez tout fichiers Excel et créez un nouveau fichier avec du code bidon contenant Application.ScreenUpdating = False. Faites le tourner et voyez s'il plante.

    Confirmez également vos références. Aucune ne doit être marquée "Manquante".

    Nom : Sans titre2.png
Affichages : 441
Taille : 20,3 Ko
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

  10. #10
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 006
    Points
    1 006
    Par défaut
    Un moyen de contourner cette erreur mais qui n'est pas une solution est d'utiliser on error pour signifier à Excel de passer outre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    On Error resume next
    Application.screenupdating = false
    On error goto 0 ' le chiffre 0
    Ainsi si screenupdating provoque une erreur sur certains postes alors cette ligne sera ignorée mais pour les postes sur lesquelles elle ne créée pas d'erreur elle sera exécutée.

    Ce n'est pas une solution au problème en tant que tel mais cela permettra de demander à Excel de ne pas tenir compte de l'erreur et donc de ne pas afficher la fenêtre d'alerte de bug.
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

  11. #11
    Candidat au Club
    Homme Profil pro
    ancien Chef de projets R&D industrie
    Inscrit en
    Juillet 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : ancien Chef de projets R&D industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2022
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Merci ALEX...
    Bonjour,

    Merci à vous pour cette analyse très fouillée, et sans appel, qui me confirme un éventuel bug de la dernière mise à jour office 365 (blocage et figeage soudain du fichier , il y a 1 semaine, sans message d'erreur), en tout cas sur 1 poste de travail. J'en ai un autre qui pour l'instant n'a pas l'air de boguer...

    Un éventuel remède avec est peut être un remède ? à vérifier sur le poste bogué, dès qu'il est libre, car je dépanne à distance...

    Je vous envoie une info en retour après test, dans 1 à 3 jours...

    Merci encore, Alex, pour votre précieuse collaboration

  12. #12
    Candidat au Club
    Homme Profil pro
    ancien Chef de projets R&D industrie
    Inscrit en
    Juillet 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : ancien Chef de projets R&D industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2022
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Bug sans solution pour le moment...
    Bonjour à tous,

    depuis excel 365, sur le poste susceptible de bug, je suis parti d'un fichier vierge avec une seule ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.screenupdating = false
    et bing... classeur figé, sans possibilité de faire quoi que ce soit, à part fermer le fichier.

    n'apporte rien de plus.


    Je baisse les bras en attendant d'en savoir plus sur ce bug... ou cette corruption d'excel365.

  13. #13
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 006
    Points
    1 006
    Par défaut
    Oui mais tu n'as pas eu l'erreur précédente. C'est ce qu'il fallait vérifier.
    Donc maintenant tu peux faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ScreenUpdating = False
    Pour figer l'écran puis en fin de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ScreenUpdating = True
    Pour te rendre la main.

    Et pour prendre en compte le bug sur ton pc qui plante tu ajoutes les onerror.
    Ce qui te donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    On Error Resume Next
    Application.ScreenUpdating = False
    On Error Goto 0
    Puis la suite de ton code et à la fin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    On Error Resume Next
    Application.ScreenUpdating = True
    On error Goto 0
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

  14. #14
    Candidat au Club
    Homme Profil pro
    ancien Chef de projets R&D industrie
    Inscrit en
    Juillet 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : ancien Chef de projets R&D industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2022
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Bof... c'est désespérant...
    Merci de votre réactivité... et votre proposition de code...

    Hélas rien n'y fait. des que le pas a pas passe à la ligne en dessous du screenupdating... cela fige les feuilles de calcul, sanas aucun message d'erreur.

  15. #15
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 006
    Points
    1 006
    Par défaut
    Application.ScreenUpdating = False fige Excel c'est normal. C'est pour cela qu'à la fin on le remet à True.
    Si tu as un arrêt en cours de code suite à erreur alors l'écran reste figé. C'est normal aussi.

    Essaye avec le fichier joint.
    Fichiers attachés Fichiers attachés
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

  16. #16
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 116
    Points : 1 639
    Points
    1 639
    Par défaut
    Hello,

    Revoit ton code, et commence par arrêter de sélectionner tout et n'importe quoi à tort et à travers. Ca diminuera drastiquement les scintillements (voir les élimineras complètement), et rendra le besoin de désactiver la mise à jour de l'écran obsolète.

    Qu'on se comprenne bien, un code VBA bien foutu, n'a pas besoin de sélectionner ni d'activer quoi que ce soit !!
    Les références, ca sert à quelque chose, fais en bon usage.

    Apprend également à te passer des objets "actif" (c'est des gros piège à con, que se passe t'il si je clique quelque part pendent l'exécution du code ? *crunch crunch crunch*).
    C'est quoi toutes ces globales dont tu n'as pas besoin ?

  17. #17
    Candidat au Club
    Homme Profil pro
    ancien Chef de projets R&D industrie
    Inscrit en
    Juillet 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : ancien Chef de projets R&D industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2022
    Messages : 9
    Points : 3
    Points
    3
    Par défaut 2eme machine boguée...
    Citation Envoyé par Alex020181 Voir le message
    Application.ScreenUpdating = False fige Excel c'est normal. C'est pour cela qu'à la fin on le remet à True.
    Si tu as un arrêt en cours de code suite à erreur alors l'écran reste figé. C'est normal aussi.

    Essaye avec le fichier joint.

    Bonjour,
    Votre fichier proposé se plante et fige le classeur, comme les autres...

    nouveauté, j'ai une 2eme machine plantée vraisemblablement suite à la dernière mise à jour Excel 365...

    de misère, j'ai désactivé le screenupdate et roule ma poule... cela refonctionne sans figer le classeur...

    Merci à vous tous pour vos partages

  18. #18
    Membre éprouvé Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 569
    Points : 1 006
    Points
    1 006
    Par défaut
    OK

    Première fois que j'entends qu'Application.ScreenUpdating fait planter.

    Bonne continuation.
    C'est toujours sympa de savoir si on vous a aidé ou non. Pensez-y

    N'hésitez pas à marquer le sujet comme résolu le cas échéant.

  19. #19
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 116
    Points : 1 639
    Points
    1 639
    Par défaut
    Au pif, les sources de tes ennuis s'appellent ActiveSheet ou ActiveCell ou Selection (les traitres habituels en VBA / Excel).


    Elle est supposée faire quoi ta macro ?
    Ce sera certainement plus rapide de te proposer une solution "à partir de zéro" que de tenter de corriger ton code source qui est très mauvais.

  20. #20
    Candidat au Club
    Homme Profil pro
    ancien Chef de projets R&D industrie
    Inscrit en
    Juillet 2022
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : ancien Chef de projets R&D industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2022
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    le bug se répand sur tous les postes win10 office365, en empêchant la macro Excel de fonctionner et en figeant la feuille de calcul.

    En désactivant simplement la ligne application.screenupdating, mes macros refonctionnent à nouveau, en attendant les correctifs de Microsoft...

    Pour le coup, je clôture cette discussion. Si je trouve une parade plus élégante, ou si le bug disparait, j'ouvrirai alors une nouvelle discussion.

    Merci aux intervenants.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Utilisation de" Application.ScreenUpdating = False/True"
    Par pelerin98 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/06/2016, 17h46
  2. [XL-2010] ScreenUpdating = false qui ne marche pas
    Par halaster08 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 22/03/2016, 10h47
  3. [XL-2010] UserForm équivalent ScreenUpdating=False
    Par Quentin77170 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/06/2015, 12h03
  4. [XL-2007] Problème avec Screenupdating = False
    Par Lilou51 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/10/2013, 19h07
  5. [XL-2003] Application.ScreenUpdating = False Marche pas
    Par jerjou26 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/02/2012, 17h20

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