Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
Icône de la ressource

complement Xla d'export de code en html et pdf avec coloration syntaxique 2.4.1

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jai trouvé faut juste modifier ton code chez moi
merci pour ton aide
je n'arrive pas à modifier ta macro avec ton nouveau code, j'ai beau le modifier, et le sauvegarder. Quand je rouvre excel la sauvegarde n'est pas été prise en compte.
Peux renvoyer un fichier modifié sur le site
merci d'avance
Amicalement
Alexis
 
Patrick, je ne maitrise pas trop le xlm, pourrais tu me guider pour modifier mon fichier stp
Re...
j'essaie de suivre les évolutions mais certainement que le xml posé c'est un extrait du code final
cependant


soit il manque le code au dessus de la balise </menu> soit il y a un soucis

quand je supprime

j'ai l'erreur



bref si ça peut faire avancer le schmilblik 🙂
ou tout simplement le code posté c'est juste un extrait.. cependant même en cas d'extrait il râle sur ces lignes
 
pour sauvegarder la modif dans un xla il faut
1 modifier le code (ici en fait tu remplace tout le callback Public Sub dynamicMenu_2_getContent......
2 tu teste ton bouton
3 et si ca marche tu selectionne n'importe quel module de mon XLA
4 dans le vbe !!!! tu va
fichier et tu clique sur enregistrer (voir capture ci dessous ) vérifie bien que c'est bien le nom du xla comme dans la capture
 
bonjour @oguruma mille excuse je ne t'ai pas vu
oui en effet c'etait ça
Pour aider dans la démarche notre ami, j'avais un principe et je l'applique encore... quand j'avais un ruban ou quand j'ai un ruban je le passe à chaque fois à la moulinette même pour l'ajout d'un simple commentaire ou l'ajout d'un interligne ou l'ajout d'une icône... on n'est jamais à l'abris d'un appuis sur une touche non désirée 🙂 😉
 
Comme tu peux voir je commence à me réconcilier avec le Ruban qui m'a causé tant de misère dans le passé... c'est un peu plus propre cependant dans les propriétés xml il manque encore pas mal de choses à mon goût, exemple la possibilité de rendre persistant les changements effectués dans les listes déroulantes avec une propriété "preserveListBox=true/false/false=defaut")... y a bien des solutions en passant par des api pour mémoriser le ruban ce que je refuse de faire...
 
oui perso je me suis fait un validateur avec XSD perso dans un petit applicatif compiler avec VS comme ça je ne suis pas obligé d'aller cgaercher le customui editor ou ribbonX editor ou autre

pour info je l'ai encore modifier pour que ce soit plus facile a s'y retrouver dans la liste
dans le titre il y a le type de module maintenant

VB:
'procedure {getContent} de remplissage du DynamicMenu[ID:''dynamicMenu_2'' Label:''Liste Macro'']'dans le parent [group_2'' Label:''Export Sub et Fonctions'']
Public Sub dynamicMenu_2_getContent(ctl As IRibbonControl, ByRef content)
    Dim VbComp, VbComps, code, t, i&, ok As Boolean, lasub, a, cl&, idx, pl&, TT$
    Set VbComps = ActiveWorkbook.VBProject.VBComponents
    content = "<menu xmlns=""http://schemas.microsoft.com/office/2006/01/customui"" >" & vbCrLf 'ouverture de la balise menu
    For Each VbComp In VbComps
        cl = VbComp.CodeModule.CountOfLines
           Select Case VbComp.Type
        Case vbext_ct_StdModule ' = 1
            TT = "Module"
        Case vbext_ct_ClassModule ' = 2
            TT = "Class"
        Case vbext_ct_MSForm ' = 3
            TT = "UserForm"
        Case vbext_ct_Document ' = 100
            If VbComp.Name = "ThisWorkbook" Then
                TT = "ThisWorkbook"
            Else
                TT = "Feuille"
            End If
        Case Else
            TT = "Inconnu"
    End Select
        If cl > 0 Then
            code = VbComp.CodeModule.Lines(1, VbComp.CodeModule.CountOfLines)
            If Trim(code) <> "" Then
                pl = pl + 1: idx = "M" & Format(Date + pl, "yyyymmdd")
                a = a + 1
                content = content & "<menu id=""" & VbComp.Name & idx & a & Chr(34) & " label=""" & TT & " : " & VbComp.Name & """ >" & vbCrLf
                t = Split(code & vbCrLf, vbCrLf)
                For i = 1 To UBound(t)
                    ok = False
                    Select Case True
                        Case Left(Trim(t(i)), 4) = "Sub "
                            ok = True
                        Case Left(Trim(t(i)), 11) = "Private Sub "
                            ok = True
                        Case Left(Trim(t(i)), 11) = "Public Sub "
                            ok = True
                        Case Left(Trim(t(i)), 9) = "Function "
                            ok = True
                        Case Left(Trim(t(i)), 17) = "Private Function "
                            ok = True
                        Case Left(Trim(t(i)), 16) = "Public Function "
                            ok = True
                    End Select
                    If ok Then
                        lasub = Trim(Split(t(i), "(")(0))
                        content = content & "<button id=""B" & VbComp.Name & CLng(Date + i) & """ label=""" & lasub & """ imageMso=""MailMergeGreetingLineInsert"" onAction=""ExporteLaSub"""
                        content = content & " tag=""" & VbComp.Name & "|" & lasub & """ />" & vbCrLf
                    End If
                Next
                content = content & "</menu>" & vbCrLf
            End If
        End If
    Next
    DoEvents
    content = content & "</menu>"
    'Debug.Print content
End Sub
 
ici en l’occurrence non il ne faut pas de préservation
on est avec des menus de type dynamicMenu avec l'attribut validatecontentondrop
et justement avec ça on ne se sert pas du validat au niveau ribbon
de cette manière la liste est mise a jour au click sur la fleche du bouton (au dérouler )
autrement dis dans le cas présent la liste est EXACTEMENT représentative de l'etat des macros et module à l’instante

moi ca fait plus de 15 ans que je m'amuse avec ce ruban xml
 
la mise a jour sur l'exemplaire en telechargement a été efectuée
version 2.4
  1. correctif des id sous menu et bouton pour le menu macro
  2. correctif sur le texte des bouton le type de module est explicite (c'est plus facile de s'y retrouver)
  3. ajout de quelque expressions mal pris en compte dans la coloration syntaxique
patrick
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…