Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Accélérer la copie du classeur actif faite par vba

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous
Je vous souhaite un beau WE...
et pour ce fil
Bjr Gérard, Bjr Fipat, Bjr le Fil

Dans ce fil, j'ai choisi le code de Gérard qui fonctionne super bien, Merci Gérard
Merci aussi à Fipat ton code fonctionne aussi et je le garde.

Je reviens en référence au fil ci-dessus pour une autre question.
Est-il possible "d'Accélérer la copie du classeur actif faite par vba ?"

Je m'explique :
Le but de ce code est de faire une copie dans un dossier "sauvegarde",
- Cette copie doit se faire après l'affectation du résultat d'un appel,
- Pour cette mission, chaque appel dure entre 2 et 6mn en moyenne,
(autant dire qu'il y en a beaucoup, donc autant d'affectations.

J'en viens à ma question :
- Si, par exemple, je fais un copier/coller d'un classeur sur le bureau de mon ordi, il m'est demandé si je veux le renommer et la copie est faite quasi instantanément pour un classeur de moins de 2Mo.

- la copie faite par vba avec le code de Gérard
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B1]) Is Nothing Then Exit Sub
Dim fichier1$, chemin$, fichier2$, a$(), n%
fichier1 = ThisWorkbook.Name
If fichier1 Like "* ## ## ##*" Then Exit Sub
ThisWorkbook.Save 'enregistre le fichier
chemin = ThisWorkbook.Path & "\Sauvegarde\"
If Dir(chemin, vbDirectory) = "" Then MkDir chemin
fichier2 = Dir(chemin & "*.xlsm")
While fichier2 <> ""
    ReDim Preserve a(n) 'base 0
    a(n) = fichier2
    If n Then Kill chemin & a(n - 1) 'vide le dossier
    n = n + 1
    fichier2 = Dir
Wend
ThisWorkbook.SaveCopyAs chemin & Left(fichier1, Len(fichier1) - 5) & Format(Now, " hh mm ss") & ".xlsm" 'sauvegarde
End Sub
Prend environ 3 secondes, et quelques fois jusqu'à 7 secondes.
Et 3/7 secondes X par un nombre de fois important, ça fini par compter et c'est "un peu barbant" d'attendre chaque fois 3/7 secondes avant de continuer le boulot.

Ma question donc (j'y crois pas trop lol)
Est-il possible "d'Accélérer la copie du classeur actif faite par vba ?"
J'ai fait des recherches cette nuit sans rien trouver pour l'instant.

Mais qui sait avec nos ténors......
Merci à toutes et à tous pour m'avoir lu,
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bjr Gérard, le Fil, le Forum,
Bonne journée à toutes et à tous

Pour information, après une quinzaine de jours d'utilisation, le code de Gérard "bidouillé et adapté" pour mes fichiers de travail, fonctionne parfaitement.
(#post 28).
Grand MERCI une fois de plus Gérard
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…