Problème menus personnalisés

  • Initiateur de la discussion Patrick
  • Date de début
P

Patrick

Guest
Bonsoir, j'ai le problème suivant. J'ai créé un fichier Excel avec des menus personnalisés (destruction du menu d'origine à l'ouverture et remplacement avec mon menu et les macros correspondantes). Jusqu'ici tout fonctionne bien. J'ai ajouté, dans mes macros, la commande originale d'Excel 'Fenêtres' et 'Ouvrir', qui me permet d'ouvrir d'autres fichiers. Lorsque j'active un autre fichier standard, il fait la procédure inverse: il détruit mon menu personnalisé et le remplace par les menus originaux d'Excel. Le problème survient lorsque je quitte (bouton droit en haut de la fenêtre ou commande 'Fermer'): les événements Workbook_BeforeClose, qui font référence à des plages nommées, s'appliquent aux autres fichiers ouverts. Comme ceux-ci ne contiennent pas ces plages nommées, Excel génère une erreur. Quelqu'un pourrait-il m'aider ou me suggérer une piste?? Merci d'avance
Patrick
 

Orodreth

XLDnaute Impliqué
Re : Problème menus personnalisés

Bonjour Patrick, le forum.

Pour ton petit problème de macro ciblée ...

Voila mon conseil:

Tu déclares une variable globale (en haut du fichier de module) de type Workbook.

Pour lui affecter une valeur, tu fais "Set maVariable = "

Pour trouver le classeur qui t'intéresse, tu crées un code qui parcourt l'ensemble des classeurs ouverts:

Code:
Dim WBK as Workbook
For each WBK in workbooks
     If WBK .... then
          Set MonClasseur = WBK
          exit for
     end if
next WBK

A partir de là, lors de ton beforeClose, tu n'as plus qu'à faire le test pour savoir si le classeur qui se ferme est bien ton classeur.
Si oui, tu éxécutes ton code.
Si non, tu sautes.

Cherche dans ce sens, c'est à mon avis un bon moyen de résoudre ton pb;

Edit: OUPS, j'avais pas vu la date, désolé
Cordialement,
Orodreth
 

Discussions similaires

P
Réponses
3
Affichages
2 K
R
Réponses
0
Affichages
605
R

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22