Ouverture d’un Fichier dont le chemin comporte des dates

Fermé
Flo100789 Messages postés 11 Date d'inscription vendredi 9 novembre 2018 Statut Membre Dernière intervention 14 novembre 2018 - Modifié le 9 nov. 2018 à 09:26
Flo100789 Messages postés 11 Date d'inscription vendredi 9 novembre 2018 Statut Membre Dernière intervention 14 novembre 2018 - 9 nov. 2018 à 19:04
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 mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
9 nov. 2018 à 09:40
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 vendredi 9 novembre 2018 Statut Membre Dernière intervention 14 novembre 2018
9 nov. 2018 à 10:08
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 22726 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476 > Flo100789 Messages postés 11 Date d'inscription vendredi 9 novembre 2018 Statut Membre Dernière intervention 14 novembre 2018
9 nov. 2018 à 13:37
bonjour, pourquoi ne pas donner quelques exemples de ce que le code devrait faire?
0
Flo100789 Messages postés 11 Date d'inscription vendredi 9 novembre 2018 Statut Membre Dernière intervention 14 novembre 2018
9 nov. 2018 à 16:03
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 22726 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476 > Flo100789 Messages postés 11 Date d'inscription vendredi 9 novembre 2018 Statut Membre Dernière intervention 14 novembre 2018
9 nov. 2018 à 16:58
ceci calcule l'année précédente:
 CStr(Year(Date) - 1)
0
Flo100789 Messages postés 11 Date d'inscription vendredi 9 novembre 2018 Statut Membre Dernière intervention 14 novembre 2018
9 nov. 2018 à 17:52
Merci yg_be

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

Merci
0