Mon Workbook_open ne fonctionne pas

Bonjour au forum,

que ce passe t-il ? le code est bien dans "ThisWorkbook", mais n'agit pas !

j'ai mis un MsgBox pour tester.

Private Sub Workbook_Open()
Application.CommandBars("RAPIDOS").Visible = True
MsgBox ("test")
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("RAPIDOS").Visible = False
End Sub

le "BeforeClose" fonctionne bien.

à vous lire

Claude.

re,

avant, en Excel4 ; j'avais un "auto_ouvrir" qui fonctionnait bien !

j'ai fait une erreur ???

Claude.

Bonjour au forum,

pas de solution ???

Claude.

tu as quelle version d'Excel car là j'ai essayé sur Excel 2003 un truc similaire et ça marche... ?

re,

je suis sur Excel97

n'y a t-il pas un "truc" à activé dans le "ThisWorkbook" , (false ou true) ???

merci Souri84

Claude.

pour Excel 97 je ne sais pas mais pour 2003 non, ça se fait tout seul... tu tapes ton code, tu enregistres et c bon...

Bonjour Claude

Une solution de remplacement, pas parfaite mais qui marche, est de créer une procedure ayant pour nom auto_open placé dans un module standart. La Procedure va se lancer au démarage du Classeur immédiatement aprés workbook_open. Sa pourrait ressembler à ceci

Private Sub Auto_Open() 
Application.CommandBars("RAPIDOS").Visible = True 
MsgBox ("test") 
End Sub

Désavantage :

- Lorsque on ouvre un classeur par macro sa procédure Auto_Open n'est pas

exécuté, sa procédure Workbook_Open si.

- Si les évènements sont désactivés avec Application.EnableEvents = False,

la procédure Auto_Open d'un classeur est exécuté s'il est ouvert par

l'utilisateur, la procédure WorkBook_Open ne l'est pas.

Bonne journée

Bonsoir,

Oui math sauf que si l'utilisateur n'a pas envie de voir la barre ou d'activer les macros et bien là tu le forces.

Il ne sera peut être pas content. Vois le fil de Yves qui n'arrive plus à supprimer un menu dans son fichier.

Duboix, tu as dû faire une mauvaise manipulation et désactiver les macros événemenielles. Il me semble que je t'avais dit de faire attention avec l'instruction APPLICATION.ENABLEEVENTS .

Fais ceci :

Crée un module et mets cette macro :

Sub test()
Application.EnableEvents = True
End Sub

Enregistre ton fichier

Puis ouvre le avec la macro Private Sub Workbook_Open()

Il faudra analyser tes macros pour éviter le désagrément que pourrait avoir ceux qui vont utiliser ton fichier.

Amicalement

Dan

Salut Nad_Dan,

je sais que auto_open n'est pas la meilleure solution, c'était une solution de rechange si on veut.

Bonsoir

Salut Math et au forum,

C'est incompréhensible, çà re-marche !!

à noter quand même que j'ai supprimé l'onglet qui contenait mon ancien "Auto_ouvrir"Excel4.

qui devait faire contre-emploi !

Bref, tout est rentré dans l'ordre.

Merci à tous

Amicalement......Claude.

re,

nos messages ce sont croisés, en répondant précédemment j'ai pas lu Dan.

encore merci

Claude.

Bonjour au forum,

Mon Private Sub Workbook_Open() ne fonctionne plus à nouveau.

Dan m'avait répondu :

Dubois, tu as dû faire une mauvaise manipulation et désactiver les macros événemenielles. Il me semble que je t'avais dit de faire attention avec l'instruction APPLICATION.ENABLEEVENTS .

Sub test()
Application.EnableEvents = True
End Sub

j'ai fait comme Dan m'a dit, mais çà ne marche toujours pas !

Comme c'est un fichier Excel4 que je re-écris et que j'ai besoin de faire beaucoup de test,

Je voudrais annulé provisoirement la macro événementielle ci-dessous, à l'origine semble t-il du problème.

Private Sub Worksheet_Change(ByVal Target As range)
    If Not Application.Intersect(Target, range("ai2:ai6")) Is Nothing Then
    Call GO
    End If
End Sub

et la remettre après mise au point du programme.

Comment procéder ?, je n'ose plus modifier !!!!!

à vous lire

Claude.

Bonjour,

Pour annuler, mets une apostrophe ( ' ) devant chaque instruction.

Autre chose, j'aime pas trop le GO à coté de CALL. Tu devrais essayer de changer ce nom si c'est un nom de macro.

Amicalement

Dan

Salut Dan,

je vais essayé çà et changé le nom "GO" qui ne me plaisait pas trop non plus.

Claude.

re,

çà ne marche toujours pas !

Ne peut-on réparer la bêtise que j'ai du faire ?

Claude.

Re,

Le pb est de savoir quelle bêtise...

Sans voir ton fichier c'est difficile là.

Bête question mais tu es sûr que les macros sont activées. Voir du coté de la sécurité sur quel niveau tu es.

A te relire

dan

Bonjour au forum,

les macros sont bien activées.

je cherche ! , j'ai aussi 2 fonctions dans un module que j'avais annulées temporairement.

Function semaine(jour)
        semaine = DatePart("ww", jour)
End Function
Function Lundi_suivant(jour)
        Lundi_suivant = jour + 7 - Weekday(jour) + 2
        If Weekday(jour) = 1 Then Lundi_suivant = Lundi_suivant - 7
End Function

et si je réinstallait Excel ??

à vous lire

Claude.

Re,

Non ce n'est pas parce que tu as un pb qu'il faut réinstaller.

Dis moi, lorsque tu ouvres ton fichier sans les macros activées dans Affichage / barre d'outils / personnaliser, est-ce que tu vois la barre d'outils "RAPIDOS" en dessous dans la liste ou non ?

A te lire

Dan

14pasqui-v2.zip (23.33 Ko)

Re,

je travail toujours avec les macros activées.

Quand j'ouvre le fichier, la barre "RAPIDOS" est bien là, mais elle n'est pas cochée.

j'ai vérifié que la barre est bien attachée au fichier (oui)

la barre porte le même nom que le fichier (pour info)

à suivre

Claude.

Re,

A vérifier aussi.

Lorsque tu ouvres un autre fichier, la barre "Rapidos" est toujours mentionnée dans affichage / barre d'outils ou non ?

Sinon essaye ceci :

  • Macro désactivées tu ouvres ton fichier
  • Dans affichage / barre d'outils, supprime la barre RAPIDOS
  • Enregistre ton fichier puis réouvre le fichier avec tes macros activées

A te relire

Dan

Rechercher des sujets similaires à "mon workbook open fonctionne pas"