execution macro trop lente

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

micky27

Guest
bonjour le forum

La macro que j'ai faite me pose quelques problèmes de vitesse à l'execution.
Fait bizare , lorsque je ne suis pas en "classeur partagé " ça va , mais dès que je suis en classeur partagé la première execution de la macro est rapide et la deuxième très très lente.


Ne comprennant pas pourquoi je fais appel aux multiples talents de ce forum.

Merci d'avance pour le coup de main

Ci JOINT LES INFOS :

j'ai un fichier avec 3 feuilles

une feuille "saisie des données"
une feuille " transfert "
une feuille " synthèse"

Le fichier est utilisé en " Classeur partagé "

sur la feuille "saisie de donnée" je selectionne avec la fonction filtre les infos que je souhaite récupérées.
Ces infos sont recopiées dans la feuille transfert puis recupérées pour étre mis en forme dans la feuille synthèse .

Ci joint la macro :

Sub recopiepoursynthèse()
'
' recopiepoursynthèse Macro
'

'
Sheets("transfert").Select
Range("A4:ae3000").Select
Selection.ClearContents

Sheets(" Saisie des données").Select
Range("a11:ae3000").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("transfert").Select
Range("A4").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

Sheets("transfert").Select
Range("R4:T3000").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Synthèse").Select
Range("A9").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False

Sheets("transfert").Select
Range("V4:V3000").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Synthèse").Select
Range("D9").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False

Sheets("transfert").Select
Range("Z4:aE3000").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Synthèse").Select
Range("E9").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False

Range("a6").Select


End Sub


Merci encore.
 
Bonjour Micky27

Une simplification de ta macro devrait accélérer les transferts

Sub recopiepoursynthèse()
Sheets("transfert").Activate
Range("A4:AE3000").ClearContents
Sheets("Saisie des données").Range("A11:AE3000").Copy Sheets("transfert").Range("A4")
Sheets("transfert").Range("R4:T3000").Copy Sheets("Synthèse").Range("A9")
Sheets("transfert").Range("V4:V3000").Copy Sheets("Synthèse").Range("D9")
Sheets("transfert").Range("Z4:AE3000").Copy Sheets("Synthèse").Range("E9")
Range("a6").Activate
End Sub

Cordialement

Bernard
 
Bonjour

Je reprends juste ce que vient de faire Bernard et un petit plus qui accélère.

Sub recopiepoursynthèse()
Application.ScreenUpdating = False '<=== evite la mise à jour de l'écran
Sheets("transfert").Activate
Range("A4:AE3000").ClearContents
Sheets("Saisie des données").Range("A11:AE3000").Copy Sheets("transfert").Range("A4")
Sheets("transfert").Range("R4:T3000").Copy Sheets("Synthèse").Range("A9")
Sheets("transfert").Range("V4:V3000").Copy Sheets("Synthèse").Range("D9")
Sheets("transfert").Range("Z4:AE3000").Copy Sheets("Synthèse").Range("E9")
Range("a6").Activate
Application.ScreenUpdating = True
End Sub


Bon courage

Pascal
 
Bonjour Bernard, Pascal

merci pour vos 2 réponses.

J'ai tester la macro mais ça plante sur la ligne

Sheets("Saisie des données").Range("A11:AE3000").Copy Sheets("transfert").Range("A4")

A votre avis qu'est ce qui plante ?

Merci d'avance pour ce complément d'info
 
Rebonjour Micky27 et Pascal76,

Plusieurs causes sont possibles :

- La plus simple c'est que le nom des feuilles ne correspondent pas à l'exemple proposé ?

- Si la macro plante, un message doit apparaître quel est-il ? C'est la cause !


Cordialement

Bernard
 
- 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
657
Réponses
18
Affichages
431
Réponses
2
Affichages
348
Réponses
17
Affichages
1 K
Retour