Je plussoie Starec...
Peux-tu mettre un fichier sans données sensibles?
Tout comme toi, nous aimerions comprendre, et peut-être proposer, à toi comme à d'autres, une solution concrète...
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
Bon, j'ai supprimé ce que je pense être sensible...
J'espère que vous y comprendrez plus que moi (et qui sais, chez vous ca risque de fonctionner ...)
Merci d'avance
Ok. J'ai compris...
Le fichier que tu as transmis est un fichier XLT (modèle Excel)...
Lorsque tu double-cliques sur ce fichier, Excel crée un ouveau classeur sur base du modèle... Donc, forcément, chaque nouveau classeur reprend les attributs du modèle, et donc la barre de menus initiale, sans tes modifications, et les modifications apportées dans ce classeur n'affectent évidemment pas le modèle.
Dès lors, si tu veux modifier la barre pour tous les NOUVEAUX classeurs basés sur le modèle, tu dois ouvrir le modèle (clic droit puis Ouvrir), modifier la barre de menus, enregistrer ton modèle.
A partir de là, tout nouveau classeur basé sur le modèle reprendra ta nouvelle barre de menus...
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
Et non malheureusement...
Toutes les modifications que j'ai apporté jusque maintenant et tous les tests que j'ai effectué ont été fait sur le fichier XLT ouvert et non pas sur une copie de XLT...
J'ai d'ailleur tenté les modifications de menus sur un xls , enregistrer le xls et réouvrir et même topo, je récupère toujours les menus d'origine...
Pourrais tu essayer de ton côté ? tu ajoute une entrée de menu qui pointe sur la macro OK_BAL puis tu enregistres le xlt , tu l'ouvres de nouveau et tu vérifies si l'entrée de menu créée existe toujours.
Merci d'avance
Avant que je me lance à mon tour dans des expériences risquées, quel est ta version d'Excel ?
Et pour m'éviter d'avoir à tout relire, quelques questions :
Quel est ton problème précis ?
- Est-ce la création de la barre d'outils ?
- Sa volatilité après enregistrement du xlt ?
Si je pose ces questions c'est que je n'arrive à rien avec ton fichier, même pas à afficher les outils qui pourraient servir à faire certains tests... et c'est embêtant
Si je devais tester ton affaire, je souhaiterais donc repartir sur des bases "propres" et donc savoir exactement ce que tu veux et ce que tu n'arrives pas à obtenir.
A+
Exact, non mentionné depuis le début : Excel 2002
j'ai un fichier avec des menus 'de base' d'excel qui sont en moins, et des menus persos qui sont en plus. Ces menus persos servent à activer des macros qui sont utiles pour le fonctionnement du document.
Je veux donc éditer ces menus pour ajouter de nouvelles fonctionnalités (nouvelles macros). Je les édite par l'interface excel, j'enregistre mais quand j'ouvre de nouveau le xlt, j'ai perdu toutes mes modifications et je retrouve la config avec des menus d'excel en moins et des menus persos en plus.
Donc ce qui me pose problème c'est :
- conserver des modifs faites aux menus persos.
Il faut savoir :
-que les menus persos sont dans la barre de menu de base d'excel (pas dans une barre d'outil supplémentaire)
-Qu'il n'y a pas de macros complémentaire, ni de barre de menu
supplémentaire.
-qu'il n'y a absolument aucun code macro qui génère les menus à l'ouverture du document.
Je te comprend bien tout le monde y perd son latin j'ai l'impression...
Si tu n'arrives à rien, je ne sais pas pourquoi. Il semble que Pierre Fauconnier ait réussi à l'ouvrir mais comme moi il n'a pu modifier les menus persos.
Voilà qui est fait, j'espère que cela sera suffisant, sinon je suis pas loin.
Je confirme que j'ai pu ouvrir le fichier et voir les menus perso intégrés dans le menu standard, sans voir à l'heure actuelle ce qui crée le menu...
Je pensais que le xlt était une piste, mais il n'en est rien...
Je me pencherai à nouveau sur le problème ce soir...
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
Alors voilà. En principe si tu ouvres un fichier avec ce modèle, tu auras tes menus au bon endroit. Ceci dit, je ne comprends rien !
Pour que le menu soit complet, j'ai été contraint de lancer la macro à l'ouverture. Tu la trouveras dans le module 3.
Maintenant, si les macros sont bien appelées par les menus, j'ai un bug. Et comme je n'ai jamais utilisé cette méthode (form dans feuille de calculs ?) je n'ai pas d'explication. Mais Pierre, qui a l'air de connaître pourra sans doute t'aider.
J'ai tout de même un hypothèse : Si tu supprimes ta barre d'outils et la recrées avec toutes les commandes, peut-être le modèle l'acceptera-t-il.
Par contre, ici non plus je ne pratique pas de la sorte. Je crée hiérarchiquement
- une barre d'outils
- un menu dans la barre d'outils
- des commandes dans le menu
et non directement une barre d'outils contenant des commandes
Tu dis
A+
Ton fichier.zip
Salut ouskelnor et merci d'avoir donné du temps
En fait, j'ai trouvé le moyen de créer par le code mes menus, aidé par Pierre et d'autres j'ai refait le fichier complet avec les menus générés cette fois comme tu le suggères, par le code. (http://www.developpez.net/forums/sho...d.php?t=521691)
Avant, le fichier que j'ai récupéré pour modification/mise à jour, contenait déjà des menus mais je devais rajouter une commande dans un des menus. Le problème est que cette modification de menus refuse de s'enregistrer... je la perd dès que je ferme l'instance d'EXCEL.
Je sais recréer 'à la main' (donc par les fonctionnalités de personnalisation de l'interface d'Excel) des menus. Mais là ca ne veut pas rester.
Voilà où nous en sommes maintenant :
J'ai résolu mon problème en réécrivant mon fichier excel
MAIS
on cherche maintenant (car c'est toujours chiant de ne pas savoir) de quoi vient mon problème initial.
Par contre je ne comprend pas trop tes autres soucis avec le fichier que j'ai joint.
Merci encore de l'investissement
Si tu m'as bien lu, j'émets l'hypothèse que tes difficultés proviennent du fait que tu insères tes commandes directement dans la barre d'outils créée.
Je suppose que VBA n'aime pas (???)
Fais au moins le test consistant à
- créer une barre d'outils
- Créer un menu dans la barre d'outils
- créer tes commandes dans le menu.
Donc supprime carrément ta barre d'outil et refais-la.
Le problème avec ton fichier est que tu as masqué les outils qui nous faciliteraient la tâche, mais puisque tu l'as refait, tu dois facilement pouvoir réaliser ce test.
Par contre, les résultats m'intéresseraient
Edit
Pour placer un menu dans une barre d'outils puis des commandes dans le menu, tu as ça ici
Salut
Je crois qu'on ne se comprend pas.
Je ne sais pas du tout ce qui a créé cette impossibilité de modifier et mémoriser le menu que j'ai dans un document récupéré.
Ca ne pose aucun soucis d'en recréer des menus ou même des sous menu ou des barres d'outils avec des menus etc... mais le problème c'est que toutes ces modifications ne seront jamais conservées dans mon document.
Si j'ajoute un menu dans une barre d'outil, cette modification affectera excel dans sa globalité et pas uniquement le classeur.
Dans le fichier, je n'ai rien masqué de moi même. Le document est ainsi et quoi que je fasse réapparaitre, ca ne se mémorise pas lors de l'enregistrement.
PS: désolé du retard, j'avais mis le topic en favoris et je n'ai jamais fait attention au fait qu'il y avait une deuxieme page au topicje n'avais donc pas vu ta réponse
Je sais qu'Excel est particulièrement ch... avec la gestion des outils personalisés.
Visiblement, le stockage se fait à 2 endroits simultanément.
Dans Excel et dans le classeur.
Il faut donc supprimer dans le classeur, modifier dans Excel et réattacher au classeur.
Par contre, je ne me souviens plus de la manière précise.
Pour être certain de ne rien perdre, il est bon d'avoir une copie du classeur où se trouve(nt) l'(es) outil(s) en question.
N'oubliez pas de cliquer surquand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
J'ai vraiment essayer plusieurs choses pour détacher le menu du classeur, puis réinitialiser la barre, puis réenregistrer le document, mais rien y fait...
D'ailleur la barre de menu créée par ce classeur, n'est pas attaché ni attachable (et par voie de fait, pas détachable) du classeur...
Moi je jette l'éponge....
Partager