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 :

problème de rapidité du programme


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
    Août 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2012
    Messages : 20
    Par défaut problème de rapidité du programme
    Bonjour à tous,

    Alors j'ai un petit soucie avec mon programme, mon programme marche très bien mais il est tros lent. J'aimerais avoir une autre méthode que la mienne pour l'optimiser.

    Cordialement,

    Hellhand.


    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
    19
    20
    21
    22
    23
    24
     
    'exporter donner fiche de consultation dans fiche de calculs
    Sub Enregistrer_dans_feuille_de_calcul2()
     
    Sheets("Fiche de consultation").Range("B31:F38").Copy
      Sheets("Fiche de calculs").Range("C7:G14").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Sheets("Fiche de consultation").Range("B56").Copy
        Sheets("Fiche de calculs").Range("C35").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
         Sheets("Fiche de consultation").Range("B42:F45").Copy
          Sheets("Fiche de calculs").Range("N19").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
         Sheets("Fiche de consultation").Range("B48:F49").Copy
        Sheets("Fiche de calculs").Range("N25:R26").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
         Sheets("Fiche de consultation").Range("B52:F54").Copy
        Sheets("Fiche de calculs").Range("N29:R31").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
            Sheets("Fiche de consultation").Range("F19").Copy
        Sheets("Fiche de calculs").Range("G3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
            Application.CutCopyMode = False
    End Sub

  2. #2
    Membre émérite
    Homme Profil pro
    Contrôleur de gestion en activité
    Inscrit en
    Juillet 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Contrôleur de gestion en activité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 545
    Par défaut
    Bonjour,

    il y a surement mieux, mais c'est un début
    code non testé je précise mais normalement c'est bon


    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
    'exporter donner fiche de consultation dans fiche de calculs
    Sub Enregistrer_dans_feuille_de_calcul2()
    Application.screenupdating = false
     
    Sheets("Fiche de consultation").Range("B31:F38").Copy
    Sheets("Fiche de calculs").Range("C7:G14").PasteSpecial Paste:=xlPasteValues
    Sheets("Fiche de calculs").Range("C35")=Sheets("Fiche de consultation").Range("B56").value
    Sheets("Fiche de consultation").Range("B42:F45").Copy
    Sheets("Fiche de calculs").Range("N19").PasteSpecial Paste:=xlPasteValues
    Sheets("Fiche de consultation").Range("B48:F49").Copy
    Sheets("Fiche de calculs").Range("N25:R26").PasteSpecial Paste:=xlPasteValues
    Sheets("Fiche de consultation").Range("B52:F54").Copy
    Sheets("Fiche de calculs").Range("N29:R31").PasteSpecial Paste:=xlPasteValues
    Sheets("Fiche de calculs").Range("G3")=Sheets("Fiche de consultation").Range("F19").value
    Application.CutCopyMode = False
    Application.screenupdating = true
    End Sub

  3. #3
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,
    Si ton code se résume à ces quelques lignes et que tu as un souci de rapidité, je pencherai plutôt pour un problème autre...
    Temps d'exécution chez moi : 0,03125 secondes. 3 Centièmes de seconde, on ne peux pas dire que ce soit super long...

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2012
    Messages : 20
    Par défaut
    c'est pas forcément la rapidité le problème mais c'est que mon programme s'execute en mode stromboscope qui me dérange, c'est pour cette raison que je souhait changer mon code, je suis novice en vb et je ne sais pas comment faire!

    Cordialement

    Bonjour supermichou,

    merci pour ta réponse mais je voulais savoir à quoi correspond le code suivant:


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

  5. #5
    Membre émérite
    Homme Profil pro
    Contrôleur de gestion en activité
    Inscrit en
    Juillet 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Contrôleur de gestion en activité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 545
    Par défaut
    le stromboscope est résolu avec le sreenupdating que j'ai placé dans mon précédent post.

    same time

    en gros (et en anglais) ça fige ton écran, ce qui est plus plaisant aux yeux et un gain parfois sympa en terme de temps d'execution.
    si tu met =true en milieu d'execution ça te permet de rafraichir ton écran et de voir des résultats intermédiaires.

  6. #6
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Comme le dit Supermichou, Application.ScreenUpdating corrige le problème.
    Application.ScreenUpdating = False désactive le rafraîchissement de l'écran.
    Ne pas oublier de le placer sur True en fin de code...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Application.ScreenUpdating = False
    'blabla
    'ICI DU CODE
    Application.ScreenUpdating = True
    Quand à ta demande, la prochaine fois essaie d'être plus clair car dans ta demande initiale il n'était question que de rapidité, et pas de "scintillement" d'écran.....

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2012
    Messages : 20
    Par défaut
    ok, merci pour toutes ces info c'est exacetement ce que je recherchais.
    et désoler pour le titre du topic je serais plus clair à l'avenir.

    merci encore,

    Cordialement,

    Hellhand.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Hibernate][Oracle] Problème de rapidité
    Par Saloucious dans le forum Hibernate
    Réponses: 7
    Dernier message: 27/11/2008, 11h00
  2. Problème pour faire un programme
    Par Kypper_667 dans le forum C++
    Réponses: 4
    Dernier message: 26/06/2006, 18h53
  3. petit problème de sortie de programme
    Par clampin dans le forum C
    Réponses: 2
    Dernier message: 17/06/2006, 11h51
  4. Réponses: 4
    Dernier message: 13/04/2006, 08h57
  5. Problème d'execution du programme
    Par black is beautiful dans le forum Windows
    Réponses: 1
    Dernier message: 31/03/2006, 21h24

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