Macro pour marquer un fichier comme étant traité

Bonjour,

J'aimerais réaliser une macro qui lorsque le fichier a été modifié, modifie le nom en le marquant comme étant traité

je pensais que 2 lignes suffiraient mais à priori non.
Quelqu'un a une idée ?

If ActiveWorkbook.Saved = False Then

ActiveWorkbook.Name = ActiveWorkbook.Name & "traité"

End if

Bonjour,

Admettons que vous fassiez un traitement de fichiers en boucle :

Option Explicit

Sub TestFichierTraite()

Dim I As Integer
Dim CheminFichier As String
Dim Wb As Workbook
Dim Matrice() As Variant

   ' Chargement matrice
   '....

   For I = 1 To N
       ' Ouverture fichier
       Set Wb = Workbooks.Open(Filename:=Matrice(I))
       With Wb
            ' Traitement
            ' .....
            ' Fermeture
            CheminFichier = .FullName
            .Close Savechanges:=True
       End With
       Set Wb = Nothing

       FichierTraite CheminFichier

   Next I

End Sub

Sub FichierTraite(ByVal AncienNom As String)

Dim Fso As Object
Dim ExtensionFichier As String, NouveauNom As String

    Set Fso = CreateObject("Scripting.FileSystemObject")
    With Fso
         If .FileExists(AncienNom) = True Then
             ExtensionFichier = .GetExtensionName(AncienNom)
             NouveauNom = Mid(AncienNom, 1, Len(AncienNom) - (Len(ExtensionFichier)) - 1) & " traité." & ExtensionFichier
            .MoveFile AncienNom, NouveauNom
         End If
    End With
    Set Fso = Nothing

End Sub

Hello Eric ! Dis-moi j'ai une question,

voici le programme fait :

Sub AnalyseClasseurs()
Dim Wb As Workbook ' représente un classeur
Dim Ws As Worksheet ' représente une feuille de calcul
Dim NbClasseurs As Integer ' Nombre de classeurs traités
Dim C As Integer ' Permet de parcourir les colonnes
Dim ColDate As Integer ' Colonne courante pour l'onglet DATE
Dim ColNom As Integer ' Colonne courante pour l'onglet NOM
Dim fs As Object
Dim f As Object
Dim DateCreation As Date, DateModification As Date, DateAcces As Date, DateReference As Date
NbClasseurs = 0
DateReference = DateValue("19/04/2018") '<- date de référence
' On efface le contenu des onglets "DATE" et "NOM"
Sheets("DATE").Cells.ClearContents
Sheets("NOM").Cells.ClearContents
ColDate = 1 ' On démarre le remplissage à la colonne 1 pour l'onglet DATE
ColNom = 1 ' On démarre le remplissage à la colonne 1 pour l'onglet NOM

Set fs = CreateObject("Scripting.FileSystemObject")

For Each Wb In Application.Workbooks ' Boucle sur chaque classeur ouvert
If Wb.Name <> ThisWorkbook.Name Then ' Si c'est pas CE classeur
Set f = fs.GetFile(Wb.FullName)
DateCreation = f.datecreated
DateModification = f.datelastmodified
DateAcces = f.datelastaccessed
If DateCreation < DateReference Then
NbClasseurs = NbClasseurs + 1
For Each Ws In Wb.Worksheets ' Boucle sur chaque feuille de chaque classeur

C = 1
Do While Ws.Cells(1, C) <> "" ' On passe les colonnes occupées en revue

If Ws.Cells(1, C) = "DATE" Then
' On copie la colonne
Ws.Columns(C).Copy (ThisWorkbook.Sheets("DATE").Columns(ColDate))
ColDate = ColDate + 1 ' On avance d'une colonne
ElseIf Ws.Cells(1, C) = "NOM" Then
' On copie la colonne
Ws.Columns(C).Copy (ThisWorkbook.Sheets("NOM").Columns(ColNom))
ColNom = ColNom + 1 ' On avance d'une colonne
End If
C = C + 1
Loop
Next Ws
End If
End If
Next Wb

If NbClasseurs = 0 Then MsgBox ("ERREUR: Aucun classeur ouvert disponible")

End Sub

Ce programme devrait traité les fichiers ouverts et si ils ont été modifié selon une date spécifique alors ils seront traités ou non, or mon programme ne marche pas...Ile me met une erreur de code 9, tu saurais d'où cela pourrait venir?

Bien cordialement

Rechercher des sujets similaires à "macro marquer fichier comme etant traite"