boniteprobtp
XLDnaute Nouveau
Mon code XML
Mon code VBA :
Je souhaiterai que la liste dynamique soit la même que la liste statique afin de ne plus avoir cette dernière car la liste peut évoluer avec le temps et je ne voudrai pas avoir à remodifier le XML à chaque nouvel item et/ou couple chapitre/rubrique.
Merci pour toute aide
Code:
ActivationFeuille"/>
<button id="BUT31"
label="Renseignement des numéros de téléphone suite à contact téléphonique (si Adhérent)"
onAction="ActivationFeuille"/>
<button id="BUT32"
label="Enrichissement des mails"
onAction="ActivationFeuille"/>
<menuSeparator id="RB33"
title="CONCERTATION - J'écoute et je raconte l'histoire de la relation"/>
<button id="BUT33"
label="Détection des INA COURRIER (logistique + poste)"
onAction="ActivationFeuille"/>
<button id="BUT34"
label="Détection des INA au téléphone"
onAction="ActivationFeuille"/>
<button id="BUT35"
label="Détection des INA par le réseau"
onAction="ActivationFeuille"/>
<button id="BUT36"
label="Saisie d'un commentaire lors de la détection des INA au téléphone"
onAction="ActivationFeuille"/>
<button id="BUT37"
label="Saisie d'un commentaire lors des contacts téléphoniques"
onAction="ActivationFeuille"/>
<button id="BUT38"
label="Saisie d'un commentaire à chaque action menée et lors du traitement des encours (Tous suivis et INA)"
onAction="ActivationFeuille"/>
<menuSeparator id="RB39"
title="CONCERTATION - Je communique avec l'adhérent avec le média le plus approprié"/>
<button id="BUT39"
label="Appels non décrochés (RONA)"
onAction="ActivationFeuille"/>
<button id="BUT40"
label="Réalisation d'appels sortants lors du traitement de la demande de l'adhérent (hors INA) par ETP"
onAction="ActivationFeuille"/>
<button id="BUT41"
label="Pourcentage d'appels sortants réalisés lors du traitement de GED/MAIL/AIDE de l'adhérent(hors INA)"
onAction="ActivationFeuille"/>
<button id="BUT42"
label="Pourcentage de mail envoyés lors du traitement de la demande de l'adhérent"
onAction="ActivationFeuille"/>
<button id="BUT43"
label="Envoi de mail lors du traitement de la demande de l'adhérent par ETP"
onAction="ActivationFeuille"/>
<menuSeparator id="RB44"
title="CONCERTATION - Je respecte mes engagements"/>
<button id="BUT44"
label="Encours SUIVI GED traités à échéance avec commentaire si report"
onAction="ActivationFeuille"/>
</menu>
</group>
<group id="Menu" label="boite Menu">
<dynamicMenu id="ListeDynamique"
label="Liste Items"
getContent="creationMenuDynamique"
invalidateContentOnDrop="true"
size="normal"
image="Jumelle" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Mon code VBA :
Code:
Sub CreationMenuDynamique(ctrl As IRibbonControl, ByRef content)
'Sub CreationMenuDynamique(control As IRibbonControl)
Dim lig As Integer, nb As Integer, top As Integer
Dim i As Integer
Dim chapitre As String
Dim rubrique As String
Dim Item As String
Dim contenu As String
'ouverture de la balise menu
'contenu = "<menu xmlns=""http://schemas.microsoft.com/office/2006/01/customui"">"
contenu = "<menu "
contenu = contenu & CreationAttribut("xmlns", "http://schemas.microsoft.com/office/2006/01/customui"
contenu = contenu & " >"
'contenu = "<menu "
'contenu = contenu & CreationAttribut("id", "Menu") & " "
'contenu = contenu & CreationAttribut("itemSize", "normal")
'contenu = contenu & " >"
feuille = ActiveSheet.Name
Dim indFeu As Integer
indFeu = controlerFeuille(feuille)
If indFeu = 0 Then Exit Sub
i = Sheets("ParamExecution").Cells(1, 4).Value
nb = i + Sheets("ParamExecution").Cells(indFeu, 4).Value
top = Sheets("ParamExecution").Cells(indFeu, 8).Value
For i = i To nb
If LCase(Sheets("ParamExecution").Cells(i, top)) = "oui" Then
rubrique = Sheets("ParamExecution").Cells(i, 1).Value + " - "
rubrique = rubrique + Sheets("ParamExecution").Cells(i, 2).Value
If Not chapitre = rubrique Then
chapitre = rubrique
contenu = contenu + creerChapitre(chapitre, i)
Item = ""
End If
If Not Item = Sheets("ParamExecution").Cells(i, 3).Value Then
Item = Sheets("ParamExecution").Cells(i, 3).Value
contenu = contenu + creerItem(Item, i)
End If
End If
Next i
'fermeture de la balise
contenu = contenu & "</menu>"
End Sub
Private Function creerChapitre(chapitre As String, i As Integer) As String
Dim strTemp As String
' Insertion d'un chapitre de menu
strTemp = "<menuSeparator "
strTemp = strTemp & CreationAttribut("id", "CHP" & CStr(i))
strTemp = strTemp & " "
strTemp = strTemp & CreationAttribut("title", chapitre)
strTemp = strTemp & "/>"
creerChapitre = strTemp
End Function
Private Function creerItem(Item As String, i As Integer) As String
Dim strTemp As String
' Insertion d'un item selectionnable
strTemp = ""
strTemp = strTemp & "<button "
strTemp = strTemp & CreationAttribut("id", "BUT" & CStr(i))
strTemp = strTemp & " "
strTemp = strTemp & CreationAttribut("label", Item)
strTemp = strTemp & " "
strTemp = strTemp & CreationAttribut("tag", Item)
strTemp = strTemp & " "
strTemp = strTemp & CreationAttribut("onAction", "ActivationFeuille")
strTemp = strTemp & "/>"
creerItem = strTemp
End Function
' Création des attributs
Function CreationAttribut(strAttribut As String, Donnee As String) As String
CreationAttribut = strAttribut & "=" & Chr(34) & Donnee & Chr(34)
End Function
Je souhaiterai que la liste dynamique soit la même que la liste statique afin de ne plus avoir cette dernière car la liste peut évoluer avec le temps et je ne voudrai pas avoir à remodifier le XML à chaque nouvel item et/ou couple chapitre/rubrique.
Merci pour toute aide
Dernière édition: