Ouvrir des fichiers sources selon le mois en-cours
Bonjour,
Dans le fichier ci-joint, je vais chercher un chiffre pour chaque mois (de Janvier à Juin par exemple).
J'utilise la fonction Indirect donc je dois ouvrir les fichiers sources pour que ça fonctionne.
Actuellement, nous sommes le 4e mois donc seul 4 fichiers sources sur 6 existent.
Dans mes modules VBA, j'ai l'habitude d'utiliser un code pour ouvrir mes fichiers sources mais là, je ne sais pas comment variabiliser l'ouverture des fichiers.
Ici, il ne faudrait ouvrir que les fichiers sources de Janvier à Avril.
Merci d'avance.
bonjour,
à tester
Private Sub CommandButton1_Click()
' On nomme le fichier de travail
MonFichier = ActiveWorkbook.Name
' Ouverture MSR A-1
For i = 1 To Val(Range("F1"))
Workbooks.Open Filename:= _
"F:\.....\Prices evolutions_" & Format(i, "00") & ".xlsm" _
, UpdateLinks:=0, ReadOnly:=True
ActiveWindow.Visible = False
Next i
Windows("Prices evolutions_" & Range("F1") & ".xlsm").Visible = True
Workbooks(MonFichier).Activate
End SubBonjour,
Merci pour le retour. J'allais revenir pour poster une solution que j'ai trouvée via des If Then imbriqués. Sans doute pas terrible pour un expert Excel mais ça fait le job.
Exemple avec A1 correspondant au mois :
Private Sub CommandButton1_Click()
' On nomme le fichier de travail
MonFichier = ActiveWorkbook.Name
If Range("A1") = "02" Then
Workbooks.Open Filename:= _
"F:\...\Prices evolutions_01.xlsm" _
, UpdateLinks:=0, ReadOnly:=True
ActiveWindow.Visible = False
Windows("Prices evolutions_01.xlsm").Visible = True
Workbooks.Open Filename:= _
"F:\...\Prices evolutions_02.xlsm" _
, UpdateLinks:=0, ReadOnly:=True
ActiveWindow.Visible = False
Windows("Prices evolutions_02.xlsm").Visible = True
Workbooks(MonFichier).Activate
ElseIf Range("A1") = "03" Then
Workbooks.Open Filename:= _
"F:\...\Prices evolutions_01.xlsm" _
, UpdateLinks:=0, ReadOnly:=True
ActiveWindow.Visible = False
Windows("Prices evolutions_01.xlsm").Visible = True
Workbooks.Open Filename:= _
"F:\...\Prices evolutions_02.xlsm" _
, UpdateLinks:=0, ReadOnly:=True
ActiveWindow.Visible = False
Windows("Prices evolutions_02.xlsm").Visible = True
Workbooks.Open Filename:= _
"F:\...\Prices evolutions_03.xlsm" _
, UpdateLinks:=0, ReadOnly:=True
ActiveWindow.Visible = False
Windows("Prices evolutions_03.xlsm").Visible = True
Workbooks(MonFichier).Activate
ElseIf Range("A1") = "04" Then
'*********************************
'etc, on continue autant qu'on veut
'*********************************
Else
Workbooks.Open Filename:= _
"F:\...\Prices evolutions_01.xlsm" _
, UpdateLinks:=0, ReadOnly:=True
ActiveWindow.Visible = False
Windows("Prices evolutions_01.xlsm").Visible = True
Workbooks(MonFichier).Activate
End If
End Sub