Ouverture d’un Fichier dont le chemin comporte des dates

Flo100789 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
Flo100789 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

1 réponse

ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   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
Flo100789 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
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
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Flo100789 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour, pourquoi ne pas donner quelques exemples de ce que le code devrait faire?
0
Flo100789 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
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
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Flo100789 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
ceci calcule l'année précédente:
 CStr(Year(Date) - 1)
0
Flo100789 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Merci yg_be

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

Merci
0