Macro pour ouvrir des fichiers
Bonjour à tous,
Je me permets de faire appel à vous car j'aimerais savoir s'il était possible de créer une macro sur un fichier qui ouvrirait un autre fichier quelque soit le dossier dans lequel ils sera (l'autre fichier).
Pour être donner un exemple, j'ai réalisé cette macro :
On Error Resume Next
Workbooks("Dashboard Workstream.xls").Activate
If Err = 0 Then
ActiveWorkbook.Saved = True
ActiveWorkbook.Close
Else
Windows("Outil équipe.xls").Activate
ActiveWindow.SmallScroll Down:=-15
Range("J2:L33").Select
Selection.Copy
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=-12
[b]Workbooks.Open Filename:="C:\budget\Dashboard Workstream.xls" [/b]
Windows("Dashboard Workstream.xls").Activate
Sheets("Valeurs Dashboard").Select
Range("B2").Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Dashboard").Select
End If
End Sub
Sur mon ordinateur, le fichier Dashboard Workstream est bien dans le dossier budget dans C:, mais si quelqu'un enregistre le fichier dans un autre dossier, la macro ne s'exécutera pas. Or j'aimerais que l'on puisse l'ouvrir quelque soit le dossier dans lequel les gens de mon équipe l'enregistre.
Merci d'avance pour votre aide!
- Messages
- 1'794
- Excel
- 2010
- Inscrit
- 25/08/2014
- Emploi
- Consultant VB6 / SQL / VBA / Excel / Access
Bonsoir,
La problématique est un peu étonnante, non ?
Le seul moyen que je voie est d'aller rechercher sur le PC dans tous les répertoires et sous-répertoires le fichier.
Alors, c'est possible, mais honnêtement, inenvisageable concrètement.
La première raison : ce sera extrêmement long, la second raison, ceci ne peut pas garantir que ce soit le bon fichier (imaginons le cas où on ait 3 fichiers du même nom, mais différents, on en ouvre un au hasard).
Juste pour l'intérêt du code, qui peut être utilisé pour d'autres besoins, un exemple (à tester), pour rechercher un fichier dans un répertoire (et tous les sous-répertoires, en récursif).
Si la recherche se fait sur le C:, ça prendra assez longtemps ! Sans parler d'un environnement professionnel sur un répertoire partagé.
A noter aussi que la macro va planter en essayant d'accéder à un répertoire où la lecture n'est pas autorisée.
Bonne soirée
Bouben