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 :

un calcul lent [XL-2010]


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
    Ingénieur qualité méthodes
    Inscrit en
    Août 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Août 2012
    Messages : 46
    Par défaut un calcul lent
    Bonjour,

    J'aimerai de l'aide svp!! Voilà j'ai écris une procédure qui me permet de faire un calcul sur deux colonnes (contenant plus de 6000 données et plus..) à l'appui sur un bouton voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CommandButton4_Click()
    Dim e
    Dim f
    For Each e In Range("B3:B" & [B65536].End(xlUP).Row)
    e.Value = e.Value / 5
    Next e
    For Each f In Range("D3:D" & [D65536].End(xlUp).Row
    f.Value = f.Value / 5
    Next f
    CommandButton.Enabled = False
    End Sub
    Cette procédure marche mais elle est vraiment très lente +1min! Si vous voyez svp comment améliorer le point vitesse je suis preneur! Je vous remercie et vous souhaite une bonne journée!

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonjour,
    déjà tu peux faire le traitement en une seule boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub CommandButton4_Click()
    Dim L As Long
    Dim Myrange As Range
    Set Myrange = ActiveSheet.UsedRange
    For L = 3 To Myrange.Rows.Count
        If IsNumeric(Myrange(L, 2)) Then Myrange(L, 2) = Myrange(L, 2) / 5 'B
        If IsNumeric(Myrange(L, 3)) Then Myrange(L, 3) = Myrange(L, 3) / 5 'D
    Next
    CommandButton.Enabled = False
    End Sub
    attention, j'ai commencé en ligne 3 car j'ai supposé qu'il y avait quelque chose en en linge 1donc tenir compte de ça.

    si ton tableau commence en A1 L=3, A2 l=2 A3 l=1.

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [IV1] = 5
    [IV1].Copy
    Range("B3:B" & [B65536].End(xlUp).Row).PasteSpecial , xlPasteSpecialOperationDivide
    Range("D3:D" & [D65536].End(xlUp).Row).PasteSpecial , xlPasteSpecialOperationDivide
    [IV1].ClearContents
    J'ai utilisé la cellule IV1, change-la au besoin.

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Août 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Août 2012
    Messages : 46
    Par défaut
    C'est génial merci à tous les deux! j'ai choisi le code de daniel! Merci encore

  5. #5
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Merci Daniel, je ne connaissais pas, très intéressant!

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

Discussions similaires

  1. temps de calcul des stats lent
    Par Mehdilis dans le forum Oracle
    Réponses: 2
    Dernier message: 28/11/2009, 10h01
  2. somdom calcul trop lent
    Par lolothom dans le forum VBA Access
    Réponses: 9
    Dernier message: 19/02/2008, 23h13
  3. Java est-il lent pour le calcul pur
    Par bilibou dans le forum Langage
    Réponses: 6
    Dernier message: 21/04/2007, 13h35
  4. [Requête] Calcul extrêmement lent : problème de sous-requêtes ?
    Par laurentcr dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 02/10/2006, 12h34
  5. [VB] avec Excel : calculs vraiment lent
    Par SimonBrodeur dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/01/2006, 16h25

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