Copier les valeurs du dernier fichier ajouté dans un dossier

Anonyme
2021-02-20T21:40:39+00:00

Bonjour à tous ,

 Est il possible - avec  une macro -de copier à partir d'un dossier spécifique(source) les valeurs du dernier fichier ajouté dans ce dossier   et coller avec liaison dans un  autre fichier à part(destination)  ?

Actuellement  je suis obligé d'ouvrir le dossier et voir a chaque fois  s'il y a  du nouveau ;

les fichiers sont nommés Semaine 1 , Semaine 2, Semaine 3 etc..., si je vois qu' une nouvelle semaine est ajoutée , j'ouvre cette dernière , je mets mon curseur sur la cellule A1 et je fais copier et coller avec liaison sur mon fichier destination.

je souhaite que cette action se fasse automatiquement à  chaque ouverture du fichier Destination.

Le but de cela est d'avoir le fichier destination  à jour en permanence .

Je souhaite en même temps  si possible ,avoir une InputBox rappelée par un bouton ,qui me permet de recharger une semaine précédente  en insérant le numéro de semaine voulu en cas de besoin .

Merci  à  vous !

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

5 réponses

  1. DanielCo 107.7K Points de réputation
    2021-03-02T08:44:06+00:00

    Bonjour,

    Cette macro doit se trouver dans le fichier destination. Essaie :

    Sub Copie()

    Dim Chemin As String, Fich As String, Res As Integer

    Dim Num As Variant, FichRes As String, Wbk As Workbook

    Chemin = ThisWorkbook.Path & "" & Year(Date)

    Fich = Dir(Chemin & "\semaine *.xlsx")

    Do While Fich <> ""

    Num = Application.Substitute(Fich, "semaine ", "")
    
    Num = CInt(Application.Substitute(Num, ".xlsx", ""))
    
    If Num &gt; Res Then
    
      Res = Num
    
      FichRes = Fich
    
    End If
    
    Fich = Dir
    

    Loop

    Set Wbk = Workbooks.Open(FichRes)

    ThisWorkbook.Sheets(1).[A1:CL400].FormulaR1C1 = _

    "='[" & FichRes & "]Feuil1'!RC"
    

    Wbk.Close False

    End Sub

    J'ai supposé que le dossier des fichiers semaine se trouve dans le même dossier que le fichier destination. Si ce n'est pas le cas, il faut indiquer ce chemin dans la variable "Chemin" (actuellement) :

    Chemin = ThisWorkbook.Path & "" & Year(Date)

    Si tu as un problème pour installer la macro, dis-le.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2021-03-01T18:30:50+00:00

    Bonjour Daniel ,

    Merci pour ton retour ,

    L'exemple de données que tu me montre en image ne risque pas de se présenter

    car a chaque importation de la nouvelle semaine, on écrase automatiquement la semaine précédente

    n'ayant plus besoin de ses données .

    la base de données se remet donc a zéro pour n'accueillir que les données de la nouvelle semaine

    et c'est d 'ailleurs ce dont j'ai besoin .

    Merci

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. DanielCo 107.7K Points de réputation
    2021-03-01T09:53:47+00:00

    Bonjour,

    Admettons que, sur le fichier de destination, j'aie les données suivantes pour les semaines 1 et 2 :

    Comment est-ce que je détermine si les données du dernier classeur semaine sont déjà copiées ? Est-ce qu'il suffit de comparer la dernière ligne du fichier semaine avec celle du fichier destination ? Ou est-ce qu'il y a une information d date qui permette de faire cette distinction ?

    J'espère avoir été clair.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2021-02-28T19:12:55+00:00

    Bonjour Daniel,

    La plage à copier de A1 a CL 400

    Pour le classement des fichiers, un nouveau dossier est ouvert chaque nouvelle année, la semaine 1 est donc toujours le premier fichier .

    L'information du numéro de semaine est dans la cellule B2 pour le fichier destination et source aussi.

    Cordialement.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  5. DanielCo 107.7K Points de réputation
    2021-02-21T06:37:45+00:00

    Bonjour,

    C'est très certainement possible. Il faut savoir quelle plage de quelle feuille du classeur source il faut copier. Savoir aussi précisément le format du nom du fichier : le fichier "semaine 1" est-il le dernier par rapport au fichier "semaine 52" (ou bien le premier de l'année précédente ?).

    Où se trouve l'information du numéro de semaine sur le fichier destination ?

    Cordialement.

    Daniell

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire