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 :

backstage custom pluri version [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    CIP
    Inscrit en
    Avril 2024
    Messages
    210
    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 : 210
    Par défaut backstage custom pluri version
    bonjour à tous
    je voudrais savoir si il est possible ce créer un customUI backstage pluri version sans que le customui soit ignoré
    du à l'absence de certains élements
    peut être dans le rel ou autres
    merci pour vos retours

  2. #2
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 522
    Par défaut
    Bonjour à tous,
    @patmeziere, avez-vous tenté d'intégrer vos deux rubans dans votre fichier Excel ?

    Assistant Ruban sait bien le faire.
    Dans un premier temps faites une sauvegarde de votre fichier on ne sait jamais...
    Dans l'onglet Ruban groupe Version ciblée. Sélectionner 2007, et faite votre ruban l'application vous indiquera les contrôles et attributs qui sont disponibles.
    Vous enregistrez le classeur (Attention bien nommer le ruban 'customUI')
    Ensuite vous sélectionner Nouveau dans le groupe Ruban XML. Sélectionner Office 2010 dans le groupe 2010, faite votre ruban .....
    Lors de la sauvegarde nommer votre ruban 'customUI14'

    Si vous éditer le classeur avec 7Zip par exemple vous aurez bien les deux rubans dans le répertoire customUI
    Et les relations dans le dossier _rels
    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
    <?xml version="1.0" standalone="yes"?>
    <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
        <Relationship Id="rId3"
                      Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties"
                      Target="docProps/app.xml"/>
        <Relationship Id="rId2"
                      Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties"
                      Target="docProps/core.xml"/>
        <Relationship Id="rId1"
                      Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"
                      Target="xl/workbook.xml"/>
        <Relationship Id="rId5"
                      Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility"
                      Target="customUI/customUI.xml"/>
        <Relationship Id="rId4"
                      Type="http://schemas.microsoft.com/office/2007/relationships/ui/extensibility"
                      Target="customUI/customUI14.xml"/>
    </Relationships>
    Je n'ai pas d’anciennes versions donc je ne peux pas faire le test, dites moi par retour si c'est bon.

    Version customUI 2007:
    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
    19
    20
    21
    22
    <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"
              onLoad="OnRibbonLoad">
        <ribbon>
            <officeMenu>
                <button id="button1"
                        label="Valtrase tests"
                        onAction="button1OnAction"/>
            </officeMenu>
            <tabs>
                <tab id="tab1"
                     label="Valtrase tests">
                    <group id="group1"
                           label="Affichages">
                        <button id="button2"
                                onAction="button2OnAction"
                                size="large"
                                label="Voir plus"/>
                    </group>
                </tab>
            </tabs>
        </ribbon>
    </customUI>
    Version customUI 2010 :
    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
    19
    20
    21
    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
        <ribbon>
            <tabs>
                <tab id="tab1"
                     label="Valtrase tests">
                    <group id="group1"
                           label="Affichages">
                        <button id="button2"
                                label="Voir plus"
                                size="large"
                                onAction="button2OnAction"/>
                    </group>
                </tab>
            </tabs>
        </ribbon>
        <backstage>
            <button id="button1"
                    label="Valtrase tests"
                    onAction="button1OnAction"/>
        </backstage>
    </customUI>
    Jean-Paul sous Office 365 et Windows 10/11 (Intel I7 16Go)

    Si vous avez trouvé réponse à votre question penser à la passer en :resolu: Vous avez aimé la discussion alors un :plusser: fait toujours plaisir.
    Le savoir n'a de valeur que s'il est partagé.
    La vérité de demain se nourrit de l'erreur d'hier. Antoine de Saint-Exupéry

  3. #3
    Membre chevronné
    Homme Profil pro
    CIP
    Inscrit en
    Avril 2024
    Messages
    210
    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 : 210
    Par défaut re
    Bonjour valtraze

    en fait j'ai trouvé
    bien sur que oui j'ai les deux customUI avec leur relationship
    d'ailleurs mon creatorRibbonx créer les deux en standalone de façon a ce que le fichier choisisse celui qui correspond a l'application excel dans le quel il est démarré

    sauf qu'en fait ça n'a rien a voir avec ça
    d'une part par ce que je suis sur 2013 donc schémas 2009/07 donc le 2010(customUi14.xml) de la même manière que vous avec vos version récentes
    du coup le switch standlaone il me sert pas a grand chose pour moi
    il ne sert qu'au utilisateurs de excel2007

    non la vrai raison c'est la différence (existence de control) dans les versions
    le customui est ignoré si il y a une erreur et de mettre une balise visible a false qui n'existe pas en est une

    mais pas démonté le vieux briscard j'ai cherché plus loin

    et en fait j'ai trouvé
    en fait on peut tous les mettre a condition de respecter un ordre et là le même code dans le custionUi backstage et valable pour toute les versions
    tout simplement

    il ne faut pas déroger a cet ordre là sinon ca va marcher sur certains et pas sur d'autres
    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
    19
    20
    21
    22
    <button idMso="FileSave" visible="false"/>
            <button idMso="FileSaveAs" visible="false"/>
            <button idMso="FileOpen" visible="false"/>
            <button idMso="FileClose" visible="false"/>
            <button idMso="ApplicationOptionsDialog" visible="false"/>
            <button idMso="FileExit" visible="false"/>
            <button idMso="HistoryTab" visible="false"/>
            <button idMso="OfficeFeedback" visible="false"/>
            <button idMso="ShareDocument" visible="false"/>
     
            <tab idMso="TabInfo" visible="false"/>
            <tab idMso="TabRecent" visible="false"/>
            <tab idMso="TabNew" visible="false"/>
            <tab idMso="TabPrint" visible="false"/>
            <tab idMso="TabShare" visible="false"/>
            <tab idMso="TabHelp" visible="false"/>
            <tab idMso="TabPublish" visible="false"/>
            <tab idMso="TabSave" visible="false"/>
            <tab idMso="TabOfficeStart" visible="false"/>
    	  <tab idMso="Publish2Tab" visible="false"/>
    	  <tab idMso="TabOfficeFeedback" visible="false"/>
    	  <tab idMso="PlaceTabHome" visible="false"/>

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 257
    Par défaut
    Hello,
    je ne sais pas si cela peut servir mais j'ai d'autres indications concernant l'utilisation de ruban pour différentes versions d'Excel ( 2010, 2013, 2016 ou supérieure) :
    customUI14.xml → utilisé par Excel 2010–2013
    customUI.xml → utilisé par Excel 2016+

    Excel choisit automatiquement le bon XML selon la version si il y a plusieurs xml dans le classeur :
    Office ≤ 2013 lit customUI14.xml
    Office ≥ 2016 lit customUI.xml

    Si il n'y a qu'un fichier customUI14.xml dans le classeur , les versions d'Excel 2016+ l'utilisent.

    Sinon il y a la possibilité du getVisible pour les éléments exemple :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    <tab idMso="TabTest" getVisible="IsExcel2013"/>

    CallBack :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Function IsExcel2013(control As IRibbonControl) As Boolean
        ' Excel 2010/2013 => Version < 16
        IsExcel2013 = Val(Application.Version) < 16
    End Function
    Ribbon XML compatible multi-version (Excel 2010, 2013, 2016, 2019, 365, etc.).
    Comportement d’Excel quand un élément du Ribbon est “inconnu”

    Quand Excel lit le customUI.xml (ou customUI14.xml), il analyse le XML au chargement du fichier.
    S’il rencontre un élément qu’il ne comprend pas (par exemple un contrôle ou un idMso inexistant dans cette version), voilà ce qui se passe :

    Type de problème Ce qu’Excel fait Impact visible
    idMso inconnu (ex. TabAccount sous Excel 2013) Il ignore silencieusement l’élément Rien ne s’affiche, pas d’erreur
    Attribut inconnu (ex. getLabel sur un type de contrôle qui ne le supporte pas) Excel ignore simplement l’attribut Aucun message, mais le comportement par défaut s’applique
    Élément mal formé (XML invalide) Excel n’affiche pas du tout ton customUI Le ruban personnalisé disparaît entièrement
    Callback VBA manquant (fonction non trouvée) Excel charge le ruban, mais le contrôle ne réagit pas Pas d’erreur à l’ouverture, mais le clic ne fait rien
    Propriété non supportée par la version (ex. visible="false" sur certains éléments Backstage de 2010) Excel ignore la propriété Élément toujours visible

    Donc, aucun plantage dans la grande majorité des cas.
    Excel préfère ignorer plutôt que planter.
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko :zen:

  5. #5
    Membre chevronné
    Homme Profil pro
    CIP
    Inscrit en
    Avril 2024
    Messages
    210
    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 : 210
    Par défaut re
    bonjour jurassicpork
    ça faisait un moment tiens

    alors oui en théorie customUI ignore c'est ce qui est dit
    sauf que dans le cas présent sur 2013 si je change l'ordre
    tout les élément qui correspondent a vos version modernes d'excel annulent le customui du coup le backstage n'est pas traité
    Excel choisit automatiquement le bon XML selon la version si il y a plusieurs xml dans le classeur :
    Office ≤ 2013 lit customUI14.xml
    Office ≥ 2016 lit customUI.xml
    ca c'est faux par contre
    le customUi14 c'est pour 2010 et +
    le customUi c'est pour 2007
    mais en fait c'est pas le nom qui est important car la aussi j'ai testé avec un "customUi" schemas 2009/07 et ca marche aussi
    mais je le repete ce n'etait pas la question puisque je suis sur 2013 et 2016 donc pour moi c'est 2009/07 donc le switch ne me sert à rien

  6. #6
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    522
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 522
    Par défaut
    Bonjour à tous,
    AH ces AI il faut souvent passer derrière...
    Callback VBA manquant (fonction non trouvée) Excel charge le ruban, mais le contrôle ne réagit pas Pas d’erreur à l’ouverture, mais le clic ne fait rien
    Çà ce n'est pas vrai non plus, tenter de définir l'attribut getText d'une zone de texte sur MyEditbox_GetText et omettez-le dans le module. PAN coup de pied de VBA...Imaginons maintenant que la procédure MyButton_GetVisible soit manquante que va-t-il se passer ?
    Jean-Paul sous Office 365 et Windows 10/11 (Intel I7 16Go)

    Si vous avez trouvé réponse à votre question penser à la passer en :resolu: Vous avez aimé la discussion alors un :plusser: fait toujours plaisir.
    Le savoir n'a de valeur que s'il est partagé.
    La vérité de demain se nourrit de l'erreur d'hier. Antoine de Saint-Exupéry

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

Discussions similaires

  1. NOOBS version custom aide [OS] [Raspberry PI]
    Par MrPARODIE100 dans le forum Autres
    Réponses: 2
    Dernier message: 20/06/2019, 07h48
  2. [SYBASE] Versions de Sybase
    Par ora9i dans le forum Sybase
    Réponses: 5
    Dernier message: 25/10/2002, 13h22
  3. [Kylix] cours & version utilisable de Kylix
    Par Suricate dans le forum EDI
    Réponses: 1
    Dernier message: 19/09/2002, 19h22
  4. Version étudiant de Delphi 6
    Par Smortex dans le forum EDI
    Réponses: 2
    Dernier message: 20/07/2002, 12h13

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