Workbook.Activate après la fermeture d'un fichier préalablement ouvert par macro

nyko283 Messages postés 27 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 16 février 2011 - 7 mars 2010 à 08:24
nyko283 Messages postés 27 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 16 février 2011 - 8 mars 2010 à 14:16
Bonjour à tous en ce dimanche matin,

Je fais appel à vous après avoir cherché dans tous les forums en vain.

je m'explique:
-j'ai une barre de menu qui remplace celle d'excel mais uniquement sur un fichier précis "planning.xls", donc lorsque j'ouvre un autre classeur, la barre classic d'excel s'affiche bien par default et quand je retourne sur mon fichier ma barre perso se réaffiche bien.

la ou j'ai un petit souci s'est quand je ferme un fichier ouvert par une macro, mes macros lors des évenements Workbooks.Activate ou windows.Activate ne fonctionnent pas et donc ma barre perso ne s'affiche pas j'ai celle d'excel,je n'est pas ce problème lorsque je passe d'un classeur à l'autre ou si je ferme un classeur ouvert de façon "classique"(à la main).
-J'ai essayer de mettre Workbook.activate sur la macro before Close du fichier ouvert par macro sans que cela ne change quelques choses.

Voici mon code d'ouverture du fichier :

Sub EmployeColonneH()
'ouverture d'un fichier
Txt = Dir("C:\Documents\Planning\Employé colonne H.xls", vbHidden) 'recherche si le document existe
    If Txt = "" Then
        MsgBox ("Cet employé n'a pas un type de contrat lui permettant un traitement des RCR. Veuillez vérifier les paramètres.")
    Else
        ChDir "C:\Documents\Planning" ' ouverture du fichier
        Workbooks.Open Filename:= _
        "C:\Documents\Planning\Employé colonne H.xls"
        Workbooks("Employé colonne H.xls").Activate ' tentative d'activation du fichier ouvert afin de désactiver "Planning.xls"
        ThisWorkbook.Worksheets("Paramètres").Range("C98").Value = 1 'condition qui me permet de gerer la macro Workbook.activate lors de l'ouverture de "Planning.xls"
   End If
End Sub

Mon code est sur VB6.3

Merci pour votre aide
Nicolas

1 réponse

nyko283 Messages postés 27 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 16 février 2011 1
8 mars 2010 à 14:16
Bonjour à tous,

Je viens de trouver la solution :

en fait le problème venait des macros dans l'évènement Before_Close Du fichier ouvert par une macro
de mon fichier principale le workbook.Activate était après le ThisWorkbook.Close SaveChange=False

Donc en remettant le code dans le bonne ordre, ça fonctionne parfaitement
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Workbooks("Planning.xls").Activate
ThisWorkbook.Close savechanges:=False
End Sub

en fait l'activation ne pouvait se faire car le fichier étant fermé avant l'exécution du code.

Voilà, une dernière chose, merci à tous, gràce a tous les forums j'ai pu apprendre à faire de petites applications
les réponses postées nous apporte beaucoup,
Nicolas
0