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 :

Menus personnalisés dynamiques


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Resp. Technique d'applications VB/VBA en SSII
    Inscrit en
    Février 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Resp. Technique d'applications VB/VBA en SSII

    Informations forums :
    Inscription : Février 2009
    Messages : 14
    Par défaut Menus personnalisés dynamiques
    Bonjour à tous,
    J'ai un deuxième petit problème... et je ne sais pas du tout par quel bout le prendre...

    Je suis en cours de migration d'un programme EXCEL (format d'origine Excel 5!) pour Excel 2010. Ce programme Excel complexe diffuse via un composant XLA un menu Excel 2003 aux feuilles de travail des clients.
    Sous 2010, cette manière de procéder ne fonctionne plus à cause de l'XML.

    Ma migration va se faire au fil de l'eau (entre Juin et Décembre, le client migrant lorsqu'il migre lui même en Office 2010), et pas en 1 seule fois. Donc je dois conserver cette diffusion par code. Mes clients sont nombreux. Au bas mot, 270 feuilles XLSM seront touchés.

    Quelqu'un peut-il me dire comment je peux diffuser le code xml en automatique à chaque fois qu'un client migre ?

    Merci aux téméraires qui se penchent sur mon problème :-)

  2. #2
    Membre expérimenté Avatar de CODYCO
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webplanneur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Par défaut
    Tu peux commencer par détecter la version d'excel et en fonction renvoyer vers un fichier xls 2003 ou 2010 j'ai déjà du gére ce problème...

    A toi d'adapter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub Workbook_Open()
     
    'Detection de la version d'office et redirection
    If Application.Version = "11.0" Then
    'Appel la création de la barre outils
    Creation_Cbar_2003
    'Si la version n'est pas en 2003
    Else
    'Appel la création de la barre outils
    MsgBox "Votre version d'office n'est pas compatible veuillez utilisez excel 2010"
    End If
    End Sub
    et inversement dans le fichier 2010
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    'Detection de la version d'office et redirection
    If Application.Version = "11.0" Then 'Si la version n'est pas en 2003
    MsgBox "Votre version de Office ne correspond à ce fichier veuillez utilisez excel 2003"
     
    Else
    'Appel la création de la barre outils
    Creation_Cbar_2010
    End If
    End Sub
    Car tu ne pourra pas gérer facilement un seul fichier pour des version différentes...

  3. #3
    Membre averti
    Homme Profil pro
    Resp. Technique d'applications VB/VBA en SSII
    Inscrit en
    Février 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Resp. Technique d'applications VB/VBA en SSII

    Informations forums :
    Inscription : Février 2009
    Messages : 14
    Par défaut
    Citation Envoyé par CODYCO Voir le message
    Car tu ne pourra pas gérer facilement un seul fichier pour des version différentes...
    Ben... Tout mon problème est que je dois gérer un seul fichier qui migre de 2003 à 2010... Y'a beaucoup de données dedans, c'est un fichier complexe...
    Lorsque mon client migre en 2010, le fichier est enregistré en 2010 et il n'utilisera plus jamais 2003.

    En attendant d'autres pistes, je réfléchis tout de même à cette solution :
    Je crée moi-même les 270 fichiers xlsm 2010 des clients. (si je peux éviter )
    A l'ouverture, je vais chercher les données dans le fichier 2003...


    Citation Envoyé par CODYCO Voir le message
    'Appel la création de la barre outils
    Creation_Cbar_2010
    Est-ce que tu peux m'expliquer ce que tu as mis la-dedans ?
    Tu crées une barre de menus par code ?

  4. #4
    Membre expérimenté Avatar de CODYCO
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webplanneur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Par défaut
    Oui pour chacune des versions (2003 ou 2010) je créer une barre d'outils utilisateur mais cela ne se gere pas de la meme manière dans chacune des versions...

    Si tu veux créer un menu sous 2010 tu va devoirs apprendre les "callbacks" mais c'est pas méchant...

    http://silkyroad.developpez.com/excel/callbacks/
    http://silkyroad.developpez.com/excel/ruban/

  5. #5
    Membre averti
    Homme Profil pro
    Resp. Technique d'applications VB/VBA en SSII
    Inscrit en
    Février 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Resp. Technique d'applications VB/VBA en SSII

    Informations forums :
    Inscription : Février 2009
    Messages : 14
    Par défaut
    Il y a tout de même un fichier xml de personnalisation de menu ?
    Ne peut-on pas tout déclarer en dynamique ?

  6. #6
    Membre expérimenté Avatar de CODYCO
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webplanneur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Par défaut
    Perso je passe par un fichier xlam en macro complémentaire c'est beaucoup plus simple à mettre à jour.

    Tout est dynamique mais sur des fichier différents les menus perso ce gere pas de la meme manière.

    Ton xml est dirrectement intégré dans xl, moi je les modifie avec Office 2007 Custom UI Editor

Discussions similaires

  1. [DOM] Menus déroulants dynamiques par groupes
    Par carmi dans le forum Général JavaScript
    Réponses: 59
    Dernier message: 11/08/2008, 08h52
  2. Réponses: 7
    Dernier message: 07/04/2008, 10h37
  3. [SQL] Relation entre deux menus déroulants dynamiques
    Par intissar_g dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/11/2007, 15h36
  4. manipulation de menus créés dynamiquement
    Par loukili81 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 18/07/2006, 11h26
  5. Réponses: 9
    Dernier message: 27/10/2005, 02h58

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