Microsoft 365 Importation des rubans personnalisés

Eric Dé

XLDnaute Occasionnel
Bonjour,

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Tout d’abord, je vous présente tous mes meilleurs vœux pour cette nouvelle année 2022.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Suite à l'installation d'Office 365, j'ai voulu importer mes rubans personnalisés.
La procédure d'export fonctionne bien et je retrouve le fichier "Excel - Personnalisations.exportedUI" à l'endroit voulu.
En revanche, après avoir suivi la procédure d'importation, mes rubans ne changent pas et restent dans l'état initial !!

Auriez-vous des idées sur ce problème ?

Merci d'avance et bonne journée !
Éric
 

Eric Dé

XLDnaute Occasionnel
Merci pour ton retour patricktoulon.
Oui, j'y ai mis tous mes raccourcis quotidien (ou presque) !
Donc, on sait déjà que le fichier d'export est bon.
Je vais essayer de trouver quelqu'un qui travaille avec 365.
Bonne continuation.
Eric
 

patricktoulon

XLDnaute Barbatruc
chez moi ecran 107 cm donc pas un petit ta barre d'acces rapide se met sur 2 étages c'est pas très ergonomique tout ca car il faut aller chercher la suite pour afficher le 2d etage
persos j'aurais ajouté un/des onglets comme ça j'ai mes propres onglets
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Suite à l'installation d'Office 365, j'ai voulu importer mes rubans personnalisés.
La procédure d'export fonctionne bien et je retrouve le fichier "Excel - Personnalisations.exportedUI" à l'endroit voulu.
En revanche, après avoir suivi la procédure d'importation, mes rubans ne changent pas et restent dans l'état initial !!
Je viens d'importer ton fichier dans mon Excel 2016, et aucun problème à signaler.

Ca m'ajoute deux onglets ("Encore Plus" et "Divers") dans le ruban.

Par contre, est-il normal que ça m'ajoute aussi plein d'icônes dans la barre d'outils Accès rapide ?
😅 Encore 5 ou 6 de plus et ça ne tenait plus dans la largeur de mon moniteur... 🤣

Question subsidiaire : sais-tu comment importer ce fichier en VBA ?
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
Bonjour
Encore 5 ou 6 de plus et ça ne tenait plus dans la largeur de mon moniteur
ho!! il y en a bien plus que ça regarde bien a la fin la petite flèche

demo.gif

Question subsidiaire : sais-tu comment importer ce fichier en VBA ?
c'est justement la question a un million
a ce jour je n'ai rien trouvé de probant si ce n'ai que piloter avec Uiautomationclient et c'est une vrai torture
pouvoir faire cela rendrait obsolète CustomUI Editor
le ribbon custom dynamique c'est pas pour tout de suite encore ;)
 

TooFatBoy

XLDnaute Barbatruc
ho!! il y en a bien plus que ça regarde bien a la fin la petite flèche
Ben non, tout s'affiche ! Ca va jusqu'au pot de peinture jaune. Il n'y a rien de plus. ;)



c'est justement la question a un million
a ce jour je n'ai rien trouvé de probant
Ah, c'est pour ça que je ne trouvais rien sur internet...
Dommage, ça aurait été bien pratique.
C'est un des gros manques à Excel, je trouve.

Et si j'ai importé manuellement un fichier .ExportedUI, il devient associé au classeur ?
Il s'enregistre dedans ou il faut avoir le classeur et le .ExportedUI à côté ?
 

patricktoulon

XLDnaute Barbatruc
re Ah!! oui peut etre est tu en DPI 100
moi je grossi un peu les taille des caractères
ce qui me met en dpi 120sinon la resolution est tellement fine que je ne vois plus rien

Et si j'ai importé manuellement un fichier .ExportedUI, il devient associé au classeur ?
Il s'enregistre dedans ou il faut avoir le classeur et le .ExportedUI à côté ?
non il est attaché a l'application ca n'a plus rien a voir avec le fichier lui même
le ribbon sera présent dans tout tes fichiers
c'est la différence entre le "Gat" et le customUI (intégré en xml )dans le fichier lui même
 

TooFatBoy

XLDnaute Barbatruc
re Ah!! oui peut etre est tu en DPI 100
J'avoue que je ne sais pas.
J'ai cherché dans Windows, mais je n'ai rien trouvé au sujet de la résolution d'affichage. :(
[edit]
J'ai mesuré la largeur de mon moniteur, et si mes calculs sont bons, je suis en 111 dpi.
[/edit]

non il est attaché a l'application ca n'a plus rien a voir avec le fichier lui même
le ribbon sera présent dans tout tes fichiers
OK. Merci 👍
Mais si je donne mon classeur à quelqu'un d'autre, il verra mon onglet personnel dans son ruban ?
Ou il faut que je lui donne aussi le .ExportedUI ?
 

patricktoulon

XLDnaute Barbatruc
re
dans windows tu a la possibilité d'agrandir certain élément de l'affichage
quand on a de grands écran et de puissante carte graphique la résolution peut être tellement fine (et petite) que pour lire les textes c'est un peu compliqué
1641629756385.png

selon celle que tu choisi tu sera
a 100% soit dpi 96
à 125% soit dpi 120
à 150% soit dpi 144

à gauche dpi 120(125%) a droite dpi 96(100%)
1641630542870.png
 

TooFatBoy

XLDnaute Barbatruc
Merci pour ta réponse. 👍
C'est bien là que j'étais allé chercher. ;)

Pour répondre à ta question, la seule chose que j'ai trouvée dans Windows 10 c'est que je suis à 100 %, aucun zoom.
Alors j'ai mesuré mon écran et d'après mon calcul je suis à 111 DPI.
C'est un peu élevé, mais je me suis habitué. 😁


selon celle que tu choisi tu sera
a 100% soit dpi 96
à 125% soit dpi 120
à 150% soit dpi 144
Il y a un souci là : plus tu zoomes, plus tu augmentes la résolution...
Ca devrait être l'inverse. ;)
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
je sais mais c'est comme ça en fait

si ça t’intéresse de titiller les exportedUI
voici déjà comment indenter le code imbuvable du fichier text fourni
on y voit un peu plu clair après
l'instruction cmd étant le root ( et ne contenant pas d'enfant) ça n'est pas compatible avec la lecture xml , il faut donc analyser le code sans le root c'est Mso:customUI qui devient le root
en sortie on a un fichier identique mais avec le code indenté ce qui permet une lecture plus aisé
VB:
Sub test()
    Dim Fichier$, Newname$
    Fichier = Application.GetOpenFilename("custom ribbon Files (*.exportedUI;*.txt), *.exportedUI;*.txt", 1, "ouvrir un fichier")
    If Fichier = "Faux" Then Exit Sub
    Newname = Environ("userprofile") & "\DeskTop\mon Ruban Perso.ExportedUI"
    exportedUIxmlIndenter Fichier, Newname
End Sub


Sub exportedUIxmlIndenter(Fichier$, Newname$)   ' recupe le texte complet  avec binary acces read
    Dim laChaine As String, x, T, DocXml As Object, L1$
    'on ouvre le fichier en text lecture binnaire (comme ça on zappe les format udf-8 et autres cochonneries)
    x = FreeFile: Open Fichier For Binary Access Read As #x: laChaine = String(LOF(x), " "): Get #x, , laChaine: Close #x
    'chaque element est dans une ligne
    laChaine = Replace(Replace(Replace(laChaine, "/><", "/>" & vbCrLf & "<"), "/> <", "/>" & vbCrLf & "<"), "><", ">" & vbCrLf & "<")
    T = Split(laChaine, vbCrLf): L1 = T(0): T(0) = ""    ' on coupe par les sauts de lignes et on enleve la ligne 1  qui n'est pas un root valide(donc lecture xml impossible) et on la memorise on la remettra apres
    Set DocXml = CreateObject("MSXML2.DOMDocument")    'on crée un document dom xml
    'on load le code(texte du fichier)
    If Not DocXml.LoadXML(Join(T)) Then Err.Raise DocXml.parseError.ErrorCode, , DocXml.parseError.reason
    DocXml.Save Newname    'on sauve le code par la fonction save(le code  sera indenté)
    ' on reouvre le nouveau fichier  et on recupere tout
    x = FreeFile: Open Newname For Binary Access Read As #x: laChaine = String(LOF(x), " "): Get #x, , laChaine: Close #x
    'on ajoute au debut la ligne de commande application  qui était incompatible avec une lecture xml  et on ré écrit le fichier
    x = FreeFile: Open Newname For Output As #x: Print #x, L1 & vbCrLf & laChaine: Close #x
    'maintenant meme en lecture avec blocknote le code est indenté et le fichier reste compatible avec l'import dans excel
MsgBox "le fichier " & Newname & " a été créé"
End Sub

en haut le fichier avant en bas le fichier après
demo.gif
 

TooFatBoy

XLDnaute Barbatruc
si ça t’intéresse de titiller les exportedUI
voici déjà comment indenter le code imbuvable du fichier text fourni
on y voit un peu plu clair après
Oui, merci. C'est ce que j'ai fait pour modifier à la main avec un éditeur de texte le fichier que j'avais.

C'était un tout petit fichier, donc j'ai indenté manuellement plutôt que d'écrire un code pour ça.
Mais merci pour ton code. Nul doute qu'il me servira.👍
 

Statistiques des forums

Discussions
311 724
Messages
2 081 936
Membres
101 844
dernier inscrit
pktla