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

Microsoft Office Discussion :

Compatibilité des logiciels Office de Microsoft


Sujet :

Microsoft Office

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Compatibilité des logiciels Office de Microsoft
    Cela démarre avec Utilisation du Ribbon, Mise en œuvre, défaut et inconvénient.

    --> Mise en œuvre

    Utilisation du zip, très compliqué car il faut donner les bons arguments pour le lien dans le fichier .rels.

    La façon la plus simple et la plus efficace est d’utiliser la version Custom UI Editor For Microsoft Office.
    Evidement cela suppose de faire son développement sous Windows et Windows 10 pour Office 2019.
    La je tique, Office 2019 64 bits ne s'installe que sur Windows 10 et Mac OS. L'outil de Microsoft ne marche que sur Windows.

    Bref c'est simple, il suffit de générer le customUI et de générer les callbacks.
    Puis dans le code VBA, de compléter les callbacks avec nos codes.

    Pour faire un test, j'ai utilisé un customUI trouvé sur le site exemple fournit pas SilkyRoad que je remercie.

    --> Maintenant les défauts.

    Il existe de multiples versions Windows et Mac de Office

    Office 2003 32 bits
    Office 2007 32 et 64 bits
    Office 2010 Win et Office 2011 Mac 32 bits

    Office 2016 32 et 64 bits
    Office 2019 32 et 64 bits sur Windows et sur Mac

    Et j'en oublie.

    Donc j'ai généré un fichier Excel sur 2019 64 Bits Windows avec deux boutons dans le ribbon.

    - Déjà sur Office 2019 64 Bits Mac la Shell32.Dll n'est pas connu. C'est Normal, Mac ne connaît pas les dll. Donc on oublie les DLL.

    - Sur Excel 2011 32 bits Mac, Pas de ruban spécial et pas les boutons.
    Les macros sont conservées mais inactives.
    Plus étonnant encore, les macros existent dans VBA mais pas dans la fenêtre de lancement des macros VBA

    Ensuite la version enregistrer à partir de Excel 2011 Mac ne contient plus les éléments du customUI. Et le fichier .rels ne contient plus les liens et le fichier customUI14.xml a lui purement disparu.

    - Une tentative avec Excel 2003 32 bits sous Windows donne le même résultat qu’avec Excel 2011 Mac.

    En plus cela bloque l’exécutions des autres macros, les appels à "control As IRibbonControl" qui eux restent provoquent une erreur de compilation.

    Conclusion :

    Microsoft a fait une usine à gaz qui rend l’utilisation de ses logiciels Office incompatible d'une version à une autre et potentiellement destructeur pour le travail réalisé.

    Cerise sur le gàteau, Dans tous les fichiers Word ou Excel, les macro VBA sont inutilisables sur les versions Word et Excel Online.
    C'est grave car en fait il n'y a aucune compatibilité entre les versions de Microsoft Office.

    Peut être des gens plus compétents peuvent m'expliquer ou est l'erreur.

  2. #2
    Membre expert
    Avatar de MarieKisSlaJoue
    Homme Profil pro
    Ingénieur Cloud
    Inscrit en
    Mai 2012
    Messages
    1 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Roumanie

    Informations professionnelles :
    Activité : Ingénieur Cloud
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 145
    Points : 3 654
    Points
    3 654
    Billets dans le blog
    20
    Par défaut
    J'ai pas exactement compris ce que tu essayer de faire, développer quelque chose de commun pour toutes les version d'Office ? Si c'est ca oublie. Des années sépare chaque version, soit tu cible spécifiquement une version pour un client pour un besoin (disons Excel 2013) et tu developpe ton addin ou ta macro pour Excel 2013. Soit tu considère juste que tu développe pour la dernière version (Pro Plus ou 2019 et dans ce cas tu fais un addin mais qui repose sur des technos Web ou des Macro.

    Des API on disparut entre les versions, ou remplacé par d'autre. Les versions de VB on évoluer, même chose quand tu es sur du x64 ou x86 certaine partie du code ne sont pas les même. Si on veux gérer plusieure version en macro il faut alors des conditions pour exécuter tel code que plutôt l'autre selon la version qui tourne.

    Pour Online en effet les macros sont désactiver. Tu ne vas pas exécuter du code custom sur les serveurs Office 365 quand même ! Ca changera peut être dans le futur, mais considère que le mode Online répond à un autre besoin que les clients lourds. Si on veux exécuter du code custom sur Office online et le client, alors encore il faut développer un addin qui repose maintenant sur des techno web et pas du code VBA
    Ce post à été écrit par un panda
    Apollo 11 - AGC revue de code
    -- qwerty keybord

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Ce que je voulais semble simple et ça n'est peut être pas le cas.

    Je veux simplement mettre l'item Fichier/ Enregistrer sous.. en non accessible.

    Jusqu'à Word 2011 Mac, il suffisait d'utiliser la fonction : Application.CommandBars.FindControl(ID:=748).Enabled = False ' "Enregistrer sous..."

    En fait je commande Word par un logiciel de GED et je veux empêcher que la/le secrétaire enregistre le document qui a été créé n'importe ou. Donc je lui bloque le menu.
    Cette méthode marche sur toutes les versions de Word de 2003 jusqu'a 2010/2011 en 32 ou en 64bits, sur PC Win ou sur Mac.

    Je suis très sensible à utiliser des méthodes pérennes, je suis en retraite, mais maintient encore des logiciels de mes anciens clients et ce n'est pas moi qui décide de l'évolution de leur parc.

    Un d'entre eux m'a fait le coup de faire évoluer son parc et donc en cherchant à utiliser la même méthode dans les versions actuelles, j'ai commencé à regarder leur truc de ribbon et ça me parait être une usine à gaz comme DAO à une époque lointaine.

    Ceci étant, Application.CommandBars et les méthodes existantes permet de récupérer l'état du menu "Enregistrer sous.."

    Par exemple la fonction suivante donne les bonnes informations (Ici pour la commande "Couper" dans les menu popup de Excel) et l'activation ou la désactivation marche sur 2019, mais pas pour le Menu Fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Sub EnabledMenuBar()
     
     '-------------Trouve les controls, mais ne les désactive pas sauf pour les menu popup
    Set CB = Application.CommandBars
    Lv_var = CB.FindControls.Count
    For Each CT In CB.FindControls
     
        If CT.ID = 21 Then                              '"Co&uper"
            Lv_var = CT.Parent.Name               ' "Cell",  "Desktop",  "File"
            Lv_var = CT.Parent.NameLocal       ' "Cellule",  "Bureau",    "Fichier"
            Ls_texte = CT.Caption
            CT.Enabled = False
            CT.Visible = False
        End If
    Next CT
     
    End Sub
    Bon si tu avait une idée

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 4
    Points
    4
    Par défaut La suite
    Dans ma première contribution, j'avais pas vu pour les photos, donc je vous en livre quelques unes :

    Les macros sont conservées mais inactives
    Plus étonnant encore, les macros existent dans VBA mais pas dans la fenêtre de lancement
    Nom : Original des macros VBA sans acces.jpg
Affichages : 381
Taille : 23,3 Ko

    Plus étonnant encore, la version enregistrer à partir de Excel 2011 Mac ne contient plus les éléments du customUI
    Ce qui se voit dans la lecture du fichier .rels de la version 2011 et de la version 2016
    Nom : Original enregistrer sous 2011.jpg
Affichages : 331
Taille : 31,6 Ko

    Le fichier customUI14.xml a lui purement disparu.

    Nom : fichier customUI14.jpg
Affichages : 354
Taille : 35,2 Ko
    Tentative avec Excel 2003 32 bits Win donne les même résultats qu’avec Excel 2011 Mac

    L’exécution des autres macros n’est plus possible, les appels à control As IRibbonControl provoque une erreur de compilation.

    Bon voila un complément. En espérant que ça vous inspire.

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 10/09/2019, 05h32
  2. Version Vista ? Compatibilité des logiciels ?
    Par Louis Griffont dans le forum Windows Vista
    Réponses: 16
    Dernier message: 17/10/2008, 09h14
  3. [Vista] Problème de compatibilité avec des logiciels [XP virtuel]
    Par simplexieum dans le forum Windows Vista
    Réponses: 1
    Dernier message: 16/03/2008, 23h40
  4. Réponses: 4
    Dernier message: 11/02/2008, 14h26
  5. Réponses: 1
    Dernier message: 28/08/2007, 10h28

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