réduire le temps d'une macro

  • Initiateur de la discussion Initiateur de la discussion mgp
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

mgp

Guest
Bonjour à tous,
étant nouveau en vba, j'ai créé les macros en pièce jointe. mais j'aimerai que le temps d'exécution des macros soient de 1 seconde maxi, comme dans les vrais logiciels, car en les utilisant, il y a 3 ou 4 secondes qui s'écoulent. quelqu'un pourrait-il me corriger ces macros s'il vous plait ?
merci.
 

Pièces jointes

Re : réduire le temps d'une macro

Bonjour mgp, le forum,

travaillant sous excel, un fichier excel aurait été plus pratique...

Pour réduire le temps d'exécution de ta macro, il faut éviter au maximun les select... ça devrait déjà faire gagner un peu de temps...


Bon courage
 
Re : réduire le temps d'une macro

tous en principe (je sais c'est long!). si tu essai tu verras que les macros mettent un petit temps à répondre ( 3, 4 secondes). que ce soit l'enregistrement d'un nouveau contrat, l'actualisation, la suppression d'un enregistrement... bref, mes macros ont la base, mais quelque chose me dit qu'il manque une touche de perfection, et je suis sur que tu peut me l'apporter .
 
Re : réduire le temps d'une macro

tous en principe (je sais c'est long!). si tu essai tu verras que les macros mettent un petit temps à répondre ( 3, 4 secondes). que ce soit l'enregistrement d'un nouveau contrat, l'actualisation, la suppression d'un enregistrement... bref, mes macros ont la base, mais quelque chose me dit qu'il manque une touche de perfection, et je suis sur que tu peut me l'apporter .

La 1ère chose est de ne pas utiliser de select, car ça ralentit à mort... Mais je ne vais pas le faire à ta place...
 
Re : réduire le temps d'une macro

peux-tu regarder mes macros et me donner quelques indications afin que j'élimine alors moi même les select, comme je l'ai dit je suis novice dans les macros si je modifie sans assistance, je pourrai créer d'autres problêmes.
 
Re : réduire le temps d'une macro

Voici le début de ton module 1
VB:
    Application.ScreenUpdating = False
    Sheets("Réserve latente").Unprotect
    Sheets("Immobilisations").Unprotect
    Sheets("BD").Visible = True
    Sheets("BD").Rows("2").Insert Shift:=xlDown
    
    Sheets("Immobilisations").Range("A2:m2").Copy
    
    Sheets("BD").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Sheets("Immobilisations").Range("e8:e19").Select
    Application.CutCopyMode = False
    Range("c11:d19").ClearContents
    Range("c21:d22").ClearContents
    
    Sheets("BD").Range("n4:z4").Copy
 
Re : réduire le temps d'une macro

Bonjour à tous,
étant nouveau en vba, j'ai créé les macros en pièce jointe. mais j'aimerai que le temps d'exécution des macros soient de 1 seconde maxi, comme dans les vrais logiciels, car en les utilisant, il y a 3 ou 4 secondes qui s'écoulent. quelqu'un pourrait-il me corriger ces macros s'il vous plait ?
merci.
Bonsoir mgp,
Après examen de ton fichier, on voit qu'il il y a beaucoup de procédures identiques ( enregistrements automatiques ) qui sont exécutées après chaque action comme l'actualisation de la Base de données et le Formatage de la feuille Immobilisations.
Pour te donner un exemple un peu plus structuré et lisible, j'ai repris ton fichier en regroupant les actions communes dans des sous-programmes dans les modules Base_donnees et Enregistrements
Le code VBA est aisnsi très compact.

Avant de relancer les exécutions, regarde bien la nouvelle structure du code et vérifie les lignes

L'actualisation de la base se fait en moins d'une seconde.

Suggestions :
- Immobilisations :
- il n'est pas nécessaire de refaire le formatage de la feuille s'il n'y a que des valeurs modifiées.
- j'ai mis en place un mode Plan très pratique pour afficher/masquer sur les lignes et colonnes mais tu peux le supprimer.
- Feuille BD : si tu veux exploiter la base, il ne doit pas y avoir de doublons dans les noms des champs
- Code VBA : mettre des explications dans les procédures

Bon travail en espérant que cet exemple te soit utile.
Cordialement
Robert
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
553
Réponses
2
Affichages
375
Retour