Je viens d'importer ton fichier dans mon Excel 2016, et aucun problème à signaler.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 !!
ho!! il y en a bien plus que ça regarde bien a la fin la petite flècheEncore 5 ou 6 de plus et ça ne tenait plus dans la largeur de mon moniteur
c'est justement la question a un millionQuestion subsidiaire : sais-tu comment importer ce fichier en VBA ?
Ben non, tout s'affiche ! Ca va jusqu'au pot de peinture jaune. Il n'y a rien de plus.ho!! il y en a bien plus que ça regarde bien a la fin la petite flèche
Ah, c'est pour ça que je ne trouvais rien sur internet...c'est justement la question a un million
a ce jour je n'ai rien trouvé de probant
non il est attaché a l'application ca n'a plus rien a voir avec le fichier lui mêmeEt 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é ?
J'avoue que je ne sais pas.re Ah!! oui peut etre est tu en DPI 100
OK. Mercinon 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
Il y a un souci là : plus tu zoomes, plus tu augmentes la résolution...selon celle que tu choisi tu sera
a 100% soit dpi 96
à 125% soit dpi 120
à 150% soit dpi 144
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
Oui, merci. C'est ce que j'ai fait pour modifier à la main avec un éditeur de texte le fichier que j'avais.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