Ouverture d'un fichier excel au démarrage d'un autre fichier

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
s
sylvainpyc
Membre habitué
Membre habitué
Messages : 90
Inscrit le : 14 octobre 2014
Version d'Excel : 2007 fr

Message par sylvainpyc » 28 octobre 2014, 14:05

Bonjour,

Je travaille sur 2 fichiers :
- planning1.xlsx : ce fichier comprend des valeurs et des fonctions mais ne doit pas être modifié voire ni vu
- planning final.xlsx : ce fichier va rechercher des valeurs dans le fichier planning1.xlsx, ce fichier utilise ces valeurs pour faire des calculs.

Je voudrais créer une macro/VBA dans le fichier planning final.xlsx et que cette macro/VBA ouvre en premier planning1.xlsx et ensuite planning final.xlsx pour que ce dernier mette à jour les valeurs en les recherchant dans le fichier planning1.xlsx.
Je voudrais si possible que le fichier planning1.xls soit protégé ou invisible.

J'ai testé une procédure qui fonctionne (seulement avec l'extension xls et non slsx) mais qui ouvre le fichier planning1.xlsx en second et non protégé ; aucune modification ne doit être fait sur ce fichier sans autorisation.


Private Sub Workbook_Open()
Set c = ThisWorkbook
Application.Workbooks.Open ("\\srv-novel-data\users$\fhpersycat\Mes documents\previsionnel\planning1.xlsx"), , True
c.Activate
Set c = Nothing
End Sub


Est-il possible de créer une procédure pour au moment de fermer planning final.xlsx fermer également le fichier planning1.xlsx ?

Je vous remercie de votre aide.

Cordialement
T
Theze
Passionné d'Excel
Passionné d'Excel
Messages : 4'019
Appréciations reçues : 306
Inscrit le : 26 janvier 2011
Version d'Excel : 2007/2019

Message par Theze » 29 octobre 2014, 08:03

Bonjour,

Et de cette façon ça dit quoi ?
Private Sub Workbook_Open()

    Dim Cls_planning1 As Workbook
    Dim Cls_planning_final As Workbook
    
    Set Cls_planning_final = ThisWorkbook
    
    Set Cls_planning1 = Workbooks.Open("\\srv-novel-data\users$\fhpersycat\Mes documents\previsionnel\planning1.xlsx", , True)
    
    Windows(Cls_planning1.Name).Visible = False
    
    Cls_planning_final.Activate

End Sub
et pour le fermer :
Private Sub Workbook_BeforeClose(Cancel As Boolean)

    Workbooks("planning1.xlsx").Close False

End Sub
Hervé.
Il vaut mieux un qui sait que cent qui cherchent :wink:

Ce forum étant un lieu de partage, je n'accepte pas les messages privés !
s
sylvainpyc
Membre habitué
Membre habitué
Messages : 90
Inscrit le : 14 octobre 2014
Version d'Excel : 2007 fr

Message par sylvainpyc » 30 octobre 2014, 13:53

Bonjour,

Cette procédure fonctionne bien
mais j'ai un message d'erreur n°9 pour la ligne
Windows(Cls_planning1.Name).Visible = False

De plus cette procédure marche quand je remplace planning1.xls ou planning1.xlsx par planning avril.xls ou planning avril.xlsx
mais pas avec des noms de fichiers trop long ou avec plus d'espace comme par exemple :
SIMULATION planning th 2015 Avr
Je remplace ce nom de fichier dans la procédure par SIMULATION_planning_th_2015_Avr mais j'ai une erreur, avez vous SVP une idée pour réparer ce problème ?

Je vous remercie de votre aide

Bonne fin de journée.

Cordialement
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message