Ouverture d’un Fichier dont le chemin comporte des dates

Flo100789 Messages postés 13 Statut Membre -  
Flo100789 Messages postés 13 Statut Membre -
Bonjour,

Débutant en vBa j’aurais besoin de votre aide.
J’aimerais ouvrir un fichier à partir d’une macro afin de copier des donnees d’un classeur de çe fichier vers un autre fichier.
En fait, je ne sais ps quel code écrire pour ouvrir le’ premier fichier dont le chemin pour y arriver est composé de date :
T/COMMUN/REPORTING/ANNÉE EN COURS (2018)/mois d’avant celui d’aujourdui au format "10. Octobre"/nomfichier ANNEE en cours au format "2018".xls

Si vous pouviez m aider cela serait vraiment gentil.

Merci par avance

1 réponse

  1. ThauTheme Messages postés 1564 Statut Membre 160
     
    Bonjour Flo, bonjour le forum,

    Pas très précises tes explications... Essaie comme ça :
    Sub Macro1()
    Dim M As String 'déclare la variable M (Mois)
    Dim AN As String 'déclare la variable AN (ANnée)
    Dim AR As String 'déclare la variable AR (Année Réduite)
    Dim F As String 'déclare la variable F (Fichier)
    Dim NCF As String 'déclare la variable NCF (Nom Complet du Fichier) )
    
    M = IIf(Month(Date) - 1 = 0, 12, Month(Date) - 1) 'définit le mois M
    AN = IIf(M = 12, CStr(Year(Date)) - 1, CStr(Year(Date))) 'définit l'année AN
    M = Format(M, "mmmm") 'format du mois
    AR = Right(AN, 2) 'définit l'année réduite AR
    F = "Nom Fichier " 'définit le nom du fichier (à adapter à ton cas)
    NCF = "T\COMMUN\REPORTING\" & AN & "\" & M & "." & AR & "\" & F & AN & "xls" 'définit le nom complet du fichier NCF
    End Sub

    0
    1. Flo100789 Messages postés 13 Statut Membre
       
      Bonjour ThauTheme,

      Merci tout d'abord de ton retour. Oui ce n'est pas très précis en effet . Je vais te donner plus d'indications :
      J'aimerais avec le code ci-dessous ne pas avoir à changer tout le temps de date dans le chemin du fichier et sur les noms de sheet :

      Sub IMPorts ()

      Application.ScreenUpdating = False

      Dim ClasseurSource As Workbook, ClasseurDestination As Workbook

      'ouvrir le classeur source en lecture seule

      Set ClasseurSource1 = Application.Workbooks.Open("Z:\dossier\Annee N\Suivi dossier 2018\SUIVI DOSSIER 2018 mois par mois .xlsb", , True)
      Application.DisplayAlerts = False

      'définir le classeur destination
      Set ClasseurDestination1 = ThisWorkbook

      'copier les données du ClasseurSource vers le ClasseurDestination
      ClasseurSource1.Sheets("Synthèse dossier ANNEE M-1").Range("A:ZZ").Copy ClasseurDestination1.Sheets("CA M").Range("A:ZZ")

      'fermer le classeur source

      ClasseurSource1.Close False
      0
    2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Flo100789 Messages postés 13 Statut Membre
       
      bonjour, pourquoi ne pas donner quelques exemples de ce que le code devrait faire?
      0
    3. Flo100789 Messages postés 13 Statut Membre
       
      Bonjour ThauTheme,

      Pouvez vous me dire ou rajouter le -1 sur la ligne :

      AN = IIf(M = 12, CStr(Year(Date)) - 1, CStr(Year(Date)))

      pour définir l'année N-1 svp?

      Merci bcp par avance
      0
    4. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Flo100789 Messages postés 13 Statut Membre
       
      ceci calcule l'année précédente:
       CStr(Year(Date) - 1)
      0
    5. Flo100789 Messages postés 13 Statut Membre
       
      Merci yg_be

      est ce que je dois juste copier ce code à la place de l'ancien ou adapter l'ancien code?

      Merci
      0