Excel : Déplacement ou effaçage d'un fichier par macro
Bonjour,
je dois compliler les infos en provenance de 3500 fichiers excel nommés par un simple numéro entre 1 et 5000 (certains numéros sont manquants).
L'idée de base est de les déplacer après le traitement.
Le fichier de compilation est dans la racine, les fichiers à traiter Racine\to do et les fichiers traités Racine\Done.Pour l'instant j'arrive à les renommer ailleurs mais pas à effacer l'original.
Existe-t-il une solution pour soit déplacer le fichier initial, je le renommerais après, soit effacer le fichier de son emplacement initial après l'avoir sauvegardé ailleurs.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
Sub Action()
Dim X As Integer
Dim CurrentPath As String
CurrentPath = ActiveWorkbook.Path
For X = 1 To 5
On Error GoTo ErrorHandler 'permet de sauter à la fin en cas d'absence de fichier
ActiveWorkbook.ConflictResolution = xlLocalSessionChanges
Workbooks.Open CurrentPath & "\To do\" & X & ".xls"
ActiveWorkbook.ConflictResolution = xlLocalSessionChanges
' c'est une fonction de recopie
Copy_Data (X)
' ici la sauvegarde du fichier dans un autre répertoire
ActiveWorkbook.SaveAs Filename:=CurrentPath & "\Done\" & X & "A.xls"
ActiveWindow.Close
ErrorHandler:
Next X
End Sub |
J'aimerais pouvoir également contrôler que le fichier n'est pas déjà ouvert.
Merci de votre aide :lol:
(VBA-E) Erreur sur ouverture de fichier
Bonjour,
j'ai une macro qui doit m'ouvrir des fichiers les uns après les autres, les traiter puis les recopier ailleurs et effacer l'original.
Le fichier porte juste un numéro comme nom (de 1 à 3052)
tout fonctionne
SAUF
quand j'ai des "trous" dans la numérotation.
J'ai vadrouillé sur le forum et j'ai trouvé, entre autres, ces lignes qui semblent convenir mais qui ne fonctionnent pas bien.
En effet, le premier "trou" passe bien, mais tout bloque au deuxième.
Code:
1 2 3 4 5 6
|
'Ouverture du fichier à recopier et gestion des conflits
Set wk = Workbooks.Open(OriginalName)
If wk Is Nothing Then GoTo ErrorHandler
' Recopie des éléments
Copy_Data (X) |
Je sais que ce problème a été maintes fois abordé, mais je n'ai rien trouvé (FAQ, forum ou aide en ligne) pour me sortir de cette impasse.
Donc si quelqu'un a une idée ...:aie: