IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

XL 2021 - Faire réapparaître les Menus contextuels disparus


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 50
    Par défaut XL 2021 - Faire réapparaître les Menus contextuels disparus
    Bonjour à tous,

    L'exécution d'un ancien classeur Xls ne m'a pas semblé problématique lors de son déroulement et pourtant ...

    Ouvrant par après un de mes classeurs xlsm afin de le modifier, je m'aperçois que certains menus contextuels ne s'affichent plus:
    menus de lignes, de colonnes, de cellules, d'onglets (apparaissant habituellement avec un clic droit) restent muets.

    Comment restaurer ces menus avec leur fonctionnement habituel au clic droit ?

    Peut-être existe-t-il des manipulations ou réglages pour les faire apparaître; mais je ne les ai pas (encore) trouvés.
    Cette solution serait privilégiée, mais sinon, je suppose qu'il doit être possible de les réactiver via VBA.

    Merci d'avance à tous ceux qui voudront bien m'aider

    Ph.D

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 466
    Par défaut
    Salut,

    Recherche les instructions CommandBar dans le code source.

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 50
    Par défaut
    Citation Envoyé par deedolith Voir le message
    Salut,

    Recherche les instructions CommandBar dans le code source.
    Bonne idée de départ;

    Malheureusement, le fichier déclencheur est écrit en VBA sous excel 2003. Le nom des CommandBar n'est plus le même depuis l'apparition du ruban et des menus contextuels. Le problème est bien de connaître ces nouveaux noms et la syntaxe exacte....

    Merci pour ton idée, elle va probablement permettre à d'autres de faire avancer la solution.

    Ph.D

  4. #4
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 50
    Par défaut
    en utilisant l'instruction "Application.CommandBars("Nom de la barre").Enabled = True" j'ai pu rétablir, en utilisant les noms anglais, les menus contextuels de lignes (Row), de colonnes (Column) et de cellules (Cell). Les noms français de ces barres conduisent à chaque essai à une erreur "Argument incorrect"

    Malheureusement, je n'arrive pas à rétablir le menu contextuel des onglets...(> Ajouterune feuille, supprimer, renommer, colorier onglet)
    ni "Workbook tabs" (Onglets du classeur Excel / CommandBar n° 38), ni "Worksheet Menu Bar" (Barre de menus Feuille de calcul / CommandBar N° 1) , bien qu'elles soient acceptées en tant qu'argument, ne fonctionnent pas

    Si quelqu'un a une idée ....


    NB n'existe-t-il pas une fonction "Réparer excel"

  5. #5
    Membre chevronné
    Homme Profil pro
    CIP
    Inscrit en
    Avril 2024
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : CIP
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2024
    Messages : 195
    Par défaut re
    Bonjour
    pour te faciliter la tâhe
    fait un reset Global de toute tes commandbars
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    sub reszezetz()
     dim cmb as commandbar
     for each cmb in application.commandbars
       cmb.reset
       on error resume next
       cmb.enabled=true
       err.clear
     next
     on error goto 0
    end sub

  6. #6
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 50
    Par défaut
    Salut Patmeziere,

    Désolé pour le délai, mais je tenais à te remercier pour ta suggestion.
    Avant de l'appliquer, je dois d'abord supprimer quelques barres outils perso créées sous Xl 2003
    et qui sont venus se rajouter à la liste des barres "standard" de XL 2021
    5je tiens vraiment à ne plus les activer ...

    Merci en tout cas

    Ph.D

  7. #7
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 50
    Par défaut
    Voilà !! Après avoir retrouvé les barres de commandes "Row" , "Column" et "Cell", J'ai aussi trouvé comment restaurer le menu contextuel des onglets.
    D'après mes recherches, le problème semble survenir assez fréquemment et cette disparition est la plupart du temps inexpliquée.

    La solution est de taper la commande suivante dans la fenêtre d'exécution de VBE "Application.CommandBars("Ply").Enabled = True".

    Magique : la commande validée, le menu réapparaît dans tous les fichiers excel !!!

  8. #8
    Membre chevronné
    Homme Profil pro
    CIP
    Inscrit en
    Avril 2024
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : CIP
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2024
    Messages : 195
    Par défaut re
    Bonjour

    Et cette macro t'aurait tout remit en place d'un seul coup pour toutes tes commandbars

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    sub Azero()
     Dim cmb 
    for each cmb in application.commandbars
        cmb.reset:cmb.enabled=true
      next 
    end sub
    Bon courage pour la suite

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/10/2008, 04h15
  2. [DW MX2004] Inclusion d'ancres dans les menus contextuels
    Par bègles dans le forum Dreamweaver
    Réponses: 3
    Dernier message: 20/03/2007, 16h14
  3. Question sur les Menus contextuel ?
    Par evlp2004@hotmail.com dans le forum Access
    Réponses: 2
    Dernier message: 09/02/2006, 13h40
  4. [JVM?] Faire disparaître les menus…
    Par seb.ch dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 01/08/2005, 16h44
  5. Réponses: 4
    Dernier message: 02/06/2004, 11h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo