Code très lent

Le
Pascal
Bonjour
Ce code me permet de regrouper tous mes fichiers XL mais est Hyper long
Quelqu'un aurait-il une idée pour accélerer ou un autre code?

Merci
Pascal
Sub CopierFichiers()
> Dim fso As Object
> Dim strFile As String
> Dim i As Integer
> 'Crée un nouveau repertoire si non existant
> Set fso = CreateObject("Scripting.fileSystemObject")
> If Not fso.folderExists("C:Tout mon XL") Then
> fso.createFolder ("C:Tout mon XL")
> End If
> 'Recherche les fichiers excel et les copie dans le repertoire
> With Application.FileSearch
> .LookIn = "C:"
> .SearchSubFolders = True
> .FileType = msoFileTypeExcelWorkbooks
> .Execute
> For i = 1 To .FoundFiles.Count
> fso.CopyFile .FoundFiles(i), "C:Tout mon XL"
> Next i
> End With
> End Sub
>





Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000723-0, 11/03/2007
Analyse le : 12/03/2007 08:42:18
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles MOUGNOZ
Le #4236791
Bonjour, Pascal
Je me permets car j'ai fait une réponse quasiment identique ce matin sur le
forum Access.
Je n'ai pas regardé plus en détail mais tu devrais pouvoir gagner du temps
au niveau de la boucle avec ceci:

Dim TonFichier As Object
For Each TonFichier In .FoundFiles
fso.CopyFile TonFichier, "C:Tout mon XL"
Next TonFichier

Est-ce plus rapide ?
--
Bonne continuation

Bonjour
Ce code me permet de regrouper tous mes fichiers XL mais est Hyper long
Quelqu'un aurait-il une idée pour accélerer ou un autre code?
Merci
Pascal
Sub CopierFichiers()
Dim fso As Object
Dim strFile As String
Dim i As Integer
'Crée un nouveau repertoire si non existant
Set fso = CreateObject("Scripting.fileSystemObject")
If Not fso.folderExists("C:Tout mon XL") Then
fso.createFolder ("C:Tout mon XL")
End If
'Recherche les fichiers excel et les copie dans le repertoire
With Application.FileSearch
.LookIn = "C:"
.SearchSubFolders = True
.FileType = msoFileTypeExcelWorkbooks
.Execute
For i = 1 To .FoundFiles.Count
fso.CopyFile .FoundFiles(i), "C:Tout mon XL"
Next i
End With
End Sub






---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000723-0, 11/03/2007
Analyse le : 12/03/2007 08:42:18
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com






Pascal
Le #4236491
Je vais essayer cela

Merci
"Gilles MOUGNOZ" news:
Bonjour, Pascal
Je me permets car j'ai fait une réponse quasiment identique ce matin sur
le forum Access.
Je n'ai pas regardé plus en détail mais tu devrais pouvoir gagner du temps
au niveau de la boucle avec ceci:

Dim TonFichier As Object
For Each TonFichier In .FoundFiles
fso.CopyFile TonFichier, "C:Tout mon XL"
Next TonFichier

Est-ce plus rapide ?
--
Bonne continuation

Bonjour
Ce code me permet de regrouper tous mes fichiers XL mais est Hyper long
Quelqu'un aurait-il une idée pour accélerer ou un autre code?
Merci
Pascal
Sub CopierFichiers()
Dim fso As Object
Dim strFile As String
Dim i As Integer
'Crée un nouveau repertoire si non existant
Set fso = CreateObject("Scripting.fileSystemObject")
If Not fso.folderExists("C:Tout mon XL") Then
fso.createFolder ("C:Tout mon XL")
End If
'Recherche les fichiers excel et les copie dans le repertoire
With Application.FileSearch
.LookIn = "C:"
.SearchSubFolders = True
.FileType = msoFileTypeExcelWorkbooks
.Execute
For i = 1 To .FoundFiles.Count
fso.CopyFile .FoundFiles(i), "C:Tout mon XL"
Next i
End With
End Sub






---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000723-0, 11/03/2007
Analyse le : 12/03/2007 08:42:18
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com








---
Antivirus avast! : message Entrant sain.
Base de donnees virale (VPS) : 000723-0, 11/03/2007
Analyse le : 12/03/2007 18:15:05
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com








---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000723-0, 11/03/2007
Analyse le : 12/03/2007 18:16:23
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com



MichDenis
Le #4330251
| With Application.FileSearch
| .LookIn = "C:"
| .SearchSubFolders = True

Ton code est très lent parce que tu lui demandes de scanner
la totalité des fichiers de tous les réperttoires de ton lecteur c:

Ce serait beaucoup plus efficace, si tu limitais le même traitement
à un ou deux répertoires ....!




"Pascal" 45f50459$0$5106$
Bonjour
Ce code me permet de regrouper tous mes fichiers XL mais est Hyper long
Quelqu'un aurait-il une idée pour accélerer ou un autre code?

Merci
Pascal
Sub CopierFichiers()
Dim fso As Object
Dim strFile As String
Dim i As Integer
'Crée un nouveau repertoire si non existant
Set fso = CreateObject("Scripting.fileSystemObject")
If Not fso.folderExists("C:Tout mon XL") Then
fso.createFolder ("C:Tout mon XL")
End If
'Recherche les fichiers excel et les copie dans le repertoire
With Application.FileSearch
.LookIn = "C:"
.SearchSubFolders = True
.FileType = msoFileTypeExcelWorkbooks
.Execute
For i = 1 To .FoundFiles.Count
fso.CopyFile .FoundFiles(i), "C:Tout mon XL"
Next i
End With
End Sub






---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 000723-0, 11/03/2007
Analyse le : 12/03/2007 08:42:18
avast! - copyright (c) 1988-2007 ALWIL Software.
http://www.avast.com

Publicité
Poster une réponse
Anonyme