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 au niveau du workbook possible


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 031
    Billets dans le blog
    45
    Par défaut ScreenUpdating au niveau du workbook possible
    Bonjour à tous et excellente année 2019


    Pour des raisons évidentes de performances, je voudrai utiliser cette commande dans une procédure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ScreenUpdating = False

    Mais cette procédure peut durer jusqu'à 10 minutes ce qui fait que tout fichier excel ouvert dans cette plage de temps sera aussi en Application.ScreenUpdating = False.

    Est-il possible de contourner cette contrainte?

    Merci par avance

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour

    Il est vraisemblable que tes petits malheurs soient le fait d'un mécanisme trop grossier.
    On évite de modifier constamment des plages de cellules, morceau par morceau. On préfère travailler en arrière plan et ne modifier qu'in fine, ce qui réduit considérablement (puisque fait d'un seul coup) la durée du travail graphique.

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 031
    Billets dans le blog
    45
    Par défaut
    bonjour unparia et très bonne année 2019,

    Merci pour ton retour et si je comprends bien, il faudrait que je charge les données d'Excel dans un tableau en mémoire, que les modifications soient faites sans ce tableau avec des recherches sur les lignes/colonnes du tableau !

    Réinventer la poudre ou la roue, au choix !

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Je n'ai absolument aucune idée précise de ce qui serait le mieux adapté à des opérations que tu es pour l'instant seul à connaître ...

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Ceci étant dit :
    il n'y a bien évidemment aucune latence d'affichage (par définition) sur une fenêtre non elle-même affichée (non visible)
    La preuve ? Cet exemple :
    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
    Dim w As Window, deb As Double, k As Long
     
      Set f = ActiveWindow
     
      deb = Timer
      For k = 1 To 50000
       Range("A1").Value = k
      Next
      MsgBox Timer - deb
     
      deb = Timer
      f.Visible = False
      For k = 1 To 50000
       Range("A1").Value = k
      Next
      MsgBox Timer - deb
      f.Visible = True
    Est-ce à dire que je conseille une telle méthode de butor ? Absolument pas. Je la déconseille au contraire très vivement et pas uniquement en raison de son inélégance graphique.

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 031
    Billets dans le blog
    45
    Par défaut
    Bonjour unparia,

    Merci pour ton retour.

    Dans mon cas, je dois appeler un fichier Excel et l'ouvrir pour MAJ. Pourquoi faudrait-il l'afficher et montrer les MAJ sauf le temps du développement?

Discussions similaires

  1. [XL-2003] workbooks.worksheets.cells.value est-il possible ?
    Par Simon et ulrich dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/03/2012, 17h43
  2. création d'un bouton de commande au niveau du workbook
    Par volubiliss dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/03/2011, 18h25
  3. Réponses: 0
    Dernier message: 30/08/2009, 18h40
  4. Réponses: 2
    Dernier message: 30/12/2007, 23h20
  5. Autodidacte .NET Niveau Bac : Emploi possible ?
    Par condor666 dans le forum Emploi
    Réponses: 14
    Dernier message: 12/02/2006, 21h07

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