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 :

[E-00] Code Très Lent


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Scoubi7
    Profil pro
    Inscrit en
    Août 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 172
    Par défaut [E-00] Code Très Lent
    Bonjour !

    J'ai fait un code et étrangement il est très lent à se lancer (sur un AMD Sempron), alors qu'il n'y a pas énormément de boucles ou de renvois...

    Si quelqu'un veut essayer de regarder mon problème je lui enverrai mon fichier...

    Merci...

  2. #2
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut
    Bonjour,

    Est-ce que le code utilise des Slection et de Select?
    Si oui, ne cherches plus!

    Tu peux poster ton code, ça aidera à t'aider!

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonsoir

    Pour compléter Drakkar_Agfa...

    il sera sûrement intéressant de placer un ScreenUpdating = False en début de macro et le remettre à True en fin de macro.

    Si la macro le permet, si tu es en calcul automatique en début de macro, passer en calcul manuel en début de macro et repasser en automatique après

    Mais, comme le dit Drakkar-Agfa, sans le code...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Membre confirmé Avatar de Scoubi7
    Profil pro
    Inscrit en
    Août 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 172
    Par défaut
    Pierre, j'ai déjà placé un "ScreenUpdating = False"...

    drakkar_agfa, oui il y a quelques "Select"... mais mes autres codes où il y en a ne me posent aucun problème !

    Je pensais vous envoyer mon code par mail, mais je viens, à l'instant, de voir que l'on pouvait ajouté un fichier joint sur les posts...

    Donc voici mon code récalcitrant : (voir en page 2 suite à un souci)

  5. #5
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Salut,

    Et c'est quoi qui est long?

    PGZ

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut Scoubi7 et le forum
    On ne veut pas de ton fichier, ce n'est pas utile si tu ne l'as pas mis d'entrée. Ou alors, un fichier d'essai avec très peu de données.
    Par contre pour améliorer un code, il faut le code et une idée de ce qu'il doit faire
    A+

  7. #7
    Membre confirmé Avatar de Scoubi7
    Profil pro
    Inscrit en
    Août 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 172
    Par défaut
    pgz, c'est à l'ouverture qu'il est très lent (environ 1mn) !

    Gorfael, pour le fait que tu ne veuilles pas mon fichier, je ne comprend pas bien ce que tu veux me dire... et autrement, j'ai réduit le nombre d'onglets et enlevé les données sensibles... et je pense qu'il est plus clair de faire l'essai sur le fichier plutôt que j'envoie mes codes (This workbook, les feuilles, les modules, les userforms)...

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Il s'ouvre très rapidement chez moi... et la macro d'ouverture n'est pas très longue.

    Cela étant, tu aurais intérêt à supprimer les combobox dans tes feuilles et à les remplacer par des validations de cellules. Ce serait beaucoup moins lourd!

    Et tu devrais nettoyer ton code des quelques Select qui s'y trouvent.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  9. #9
    Membre confirmé Avatar de Scoubi7
    Profil pro
    Inscrit en
    Août 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 172
    Par défaut
    Merci pour ta réponse Pierre, ce qui est étrange, c'est que j'ai fait plein d'autres codes avec beaucoup plus de "Select" et pareil pour les Combobox et c'est le seul qui rame à ce point...

    Par contre, quand je désactive les macros (via la sécurité), il est toujours aussi lent... c'est à n'y rien comprendre !!!

  10. #10
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Je n'ai pas téléchargé et ouvert ton fichier (je ne le fais jamais).

    Mais Pierre Fauconnier l'a fait et n'a pas noté la même lenteur que chez toi, ce qui me conduit à conclure que :
    - soit l'état de ton fichier (notamment sa taille) a été modifié par la compression (zip ou rar) puis sa décompression . Il y a récemment eu une discussion à ce propos.
    - soit ta lenteur a été constatée alors que la mémoire de ta machine était déjà saturée
    - soit (plus probablement encore) : la conjugaison des deux (état du fichier + état de la mémoire au moment de la lenteur constatée) est la raison.

    EDIT :
    A lire (à toutes fins) avec attention cette discussion récente :
    http://www.developpez.net/forums/d68...connexion-ado/
    juste pour le cas où ....

  11. #11
    Membre confirmé Avatar de Scoubi7
    Profil pro
    Inscrit en
    Août 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 172
    Par défaut
    Merci ucfoutu !

    Sais-tu s'il existe un code pour, au lancement, vider la mémoire ?

    Et tu veux dire que si je compresse puis redécompresse mon fichier à mon travaille, il sera plus rapide...?

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

Discussions similaires

  1. [XL-2007] Code très lent
    Par apdf1 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/11/2011, 18h36
  2. DataTable personnalisé > éxécution du code très lent
    Par Stephane_br dans le forum VB.NET
    Réponses: 5
    Dernier message: 08/07/2011, 16h57
  3. [D2007] Achèvement de code très lent
    Par paradise dans le forum EDI
    Réponses: 8
    Dernier message: 07/10/2010, 13h06
  4. [XL-2003] Je sèche sur un code très très lent
    Par neiluj26 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 30/07/2009, 17h18
  5. Code VBA très lent - en phase d'execution
    Par Fairyanna dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/08/2008, 15h35

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