Simplification code macro

  • Initiateur de la discussion Initiateur de la discussion pamzz
  • 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 !

P

pamzz

Guest
Bonjour a toutes et a tous,

Voilà, je souhaiterais simplifier le code d'une macro afin que sa durée d'exécution diminue... Je joins un morceau de code :

Sheets("ENTREES FIGEES").Select

Range("AI7").Select
ActiveCell.FormulaR1C1 = "EDD"
Application.Run "Extraire"
Range("BN2").Select
Selection.Copy
Sheets("Tableau T1").Select
Range("J12").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("ENTREES FIGEES").Select




Merci à vous
 
Re : Simplification code macro

Bonjour,

Sans le fichier qui va avec c'est difficile de comprendre ce que tu veux faire exactement. Essayons de diminuer le nombre de lignes selon ton code, sachant que je ne suis pas sûr que cela diminuera le délai d'exécution :

Code:
Sheets("ENTREES FIGEES").Select
Range("AI7").Formula = "EDD"
Application.Run "Extraire"
Range("BN2").Copy
Sheets("Tableau T1").Range("J12").PasteSpecial Paste:=xlValues

PS : je suis quasi sûr que c'est la ligne <<Application.Run "Extraire">> qui te pose problème au niveau de délai
 
Dernière édition:
Re : Simplification code macro

Bonjour Pamzz, bonjour le forum,

Bienvenu dans le forum.

Dans cette macro tu lances une autre macro :
Code:
Application.Run "Extraire"
C'est peut-être dans Extraire qu'il y a un problème de lenteur...
Sinon, ton code simplifié. Evite les Select qui ralentissent le code :
Code:
With Sheets("ENTREES FIGEES")
    .Range("AI7").FormulaR1C1 = "EDD"
    Application.Run "Extraire"
    .Range("BN2").Copy
    Sheets("Tableau T1").Range("J12").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
End With

Édition :
Bonjour Raja on s'est croisé.
 
Re : Simplification code macro

Bonjour Raja, bonjour Robert

En effet, j'exécute une macro "extraire" que voilà :

' Ext Macro
Sub Extraire()

Range("A6:AA7000").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"AD6:BD7"), CopyToRange:=Range("BF6:CF6"), Unique:=False

Range("BE7").Select
End Sub

Mon fichier est créer sur le principe d'une base de données, zone de critère et zone d'extraction. Cette macro modifie mon champs critère et me colle le résultat dans un tableau chiffré à chaque extraction (gestion d'effectifs). 😡 selon les critères utilisés

Je dois chiffrer ces effectifs par corps (40 corps différents) avec comme différence de critère à savoir, si c'est de l'exécuté ou du prévisionnel (selon la date indiqué) ainsi que du centralisé ou du déconcentré, donc autant de ligne que de probabilité...

J'espère être clair... mais n'en suis pas sur

En attendant de vos nouvelles, je vais tester vos réponses


Encore merci en tout cas 🙂
 
- 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
10
Affichages
792
Réponses
18
Affichages
597
Réponses
2
Affichages
401
Retour