Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
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 !
Merci de ton retour! Je m'en doutais un peu! j'ai gardé une version que je mettrai à jour ce n'est pas très grave. Je t'envoie mon fichier en question anonymisé. Soit indulgent sur ma programmation je suis autodidacte mais néanmoins je ne suis pas contre de conseils pour m'améliorer.Bonjour @JPaul78
je l'ai dis garder toujours l'original sans ruban , je l'ai dis et ecrit plusieurs fois
il faudrait que je fasse un nettoyeur un jour je vais m'y mettre
pourtant j'ai bien avance la chose
pourrait on avoir ce fichier anonymisé svp
Merci de ton retour, je pense avoir compris le getsave, c'est vrai que lors de mes débogages, le ruban ne fonctionnait plus donc je fermais le fichier et le relançais et tout revenait dans l'ordre. avec cela cette manœuvre n'est plus utile. j'apprend petit à petit... Merci!Bonjour @JPaul78
bon j'ai plein de bugs mais c'est normal il me manque plein de trucs
je voyais ça plus compliqué ( c'est un petit ruban mais c'est pas mal car tu semble avoir compris ,le truc
mais il y a encore des chose qui t'echapes
en ce qui concerne les callbacks
par exemple le invalidate
si tu a déboguer dans les modules ta variable myRibbon est nothing du coup le dynamico ben ...tu reviens demain hein si il fait beau
du coup je te l'ai refait et je t'ai mis le safeRibbon
<?xml version="1.0" standalone="yes"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"
onLoad="CustomUIOnLoad">
<!--CreatorRibbonX ImageMso 2025 Version 6.5+ developed BY patricktoulon-->
<!--project Ribbon name :test_solidarauto-->
<ribbon startFromScratch="false">
<tabs>
<tab idMso="TabAddIns"
getVisible="provix_TabAddIns_getVisible"/>
<tab idMso="TabHome"
getVisible="provix_TabHome_getVisible"/>
<tab idMso="TabInsert"
getVisible="provix_TabInsert_getVisible"/>
<tab idMso="TabPageLayoutExcel"
getVisible="provix_TabPageLayoutExcel_getVisible"/>
<tab idMso="TabFormulas"
getVisible="provix_TabFormulas_getVisible"/>
<tab idMso="TabData"
getVisible="provix_TabData_getVisible"/>
<tab idMso="TabReview"
getVisible="provix_TabReview_getVisible"/>
<tab idMso="TabView"
getVisible="provix_TabView_getVisible"/>
<tab idMso="TabDeveloper"
getVisible="provix_TabDeveloper_getVisible"/>
<tab id="tab_1"
label="Solidarauto">
<group id="group_0"
label="Mise à Jour"
imageMso="AccessRefreshAllLists">
<button id="button_1"
imageMso="DatabaseLinedTableManager"
size="large"
label="Actualisation Données"
onAction="button_1_Click"
supertip="Permet d'actualiser les données issues des garages."/>
</group>
<group id="group_1"
imageMso="CalendarMonthDetailsSplitButton"
label="Année de Référence">
<labelControl id="labelControl_1"
label="Choix Année de Référence"/>
<comboBox id="comboBox_1"
imageMso="CalendarMonthDetailsSplitButton"
onChange="comboBox_1_onChange"
getText="comboBox_1_getText"
getItemCount="comboBox_1_getItemCount"
getItemLabel="comboBox_1_getItemLabel"/>
</group>
<group id="group_2"
label="Export Format PDF"
imageMso="PowerQueryDataFromPDFFile">
<button id="button_2"
label="Export Indicateurs"
size="large"
onAction="button_2_Click"
supertip="Exporte la page générale des indicateurs au format pdf."
imageMso="FileEmailAsPdfEmailAttachment"/>
<button id="button_3"
imageMso="PowerQueryDataFromPDFFile"
onAction="button_3_Click"
size="large"
label="Export benchmark"
supertip="Exporte le benchmark des garages au format pdf."/>
</group>
<group id="group_3"
label="Sauvegarde"
imageMso="AutoSaveSwitch">
<button id="button_4"
size="large"
label="Sanvegarde Indicateurs"
onAction="button_4_Click"
supertip="Permet de sauvegarder l'ensemble des indicateurs et des bases de données dans un fichier Excel (A réaliser tous les ans)."
imageMso="AutoSaveSwitch"/>
</group>
<group id="group_4"
label="Administration"
imageMso="ControlsGalleryClassic">
<button id="button_5"
label="Affichage Admin."
size="large"
onAction="button_5_Click"
supertip="Permet l'affichage de tous les onglets et de l'ensemble du ruban."
imageMso="ControlsGalleryClassic"/>
<button id="button_6"
size="large"
label="Choix Répertoire"
supertip="Permet de choisir le répertoire qui regoupe tous les fichiers indicateurs envoyés par les garages."
onAction="button_6_Click"
imageMso="ToggleFolderShowInFavorites"
getVisible="button_6_getVisible"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
<button id="button_6"
<button id="button_1"
imageMso="DatabaseLinedTableManager"
size="large"
label="Actualisation Données"
onAction="button_1_Click"
supertip="Permet d'actualiser les données issues des garages."/>
sub Actualisation_Données_click(control As IRibbonControl)
msgbox control.id
End Sub
'procedure {onAction} du bouton [ID:''button_1'' Label:''Bird (Anniversaire)'']'dans le parent [menu_1'' Label:''Date 2'']
Sub Bird_Click(control As IRibbonControl)
'DATEDIFF_AMJ4$(ByVal dat1 As Date, Optional ByVal dat2 As Date = 0, Optional JustYear As Boolean = False)
ActiveCell.Formula = "=DATEDIFF_AMJ4(,,)"
CreateObject("WScript.Shell").SendKeys "{F2}{LEFT}{LEFT}{LEFT}"
End Sub
Merci à vous deux, à mon âge qui se rapproche des septuagénaires il me faut des délais de réflexions. Mais je suis friands d'informations qui me font progresser.Bonjour @Valtraze
et est ce c'est si compliqué de comprendre que tu par le du ID 🤣 🤣
qu'un id est Unique et que le creator compte les élements de même type et teste "button_" & index pour créer le ID et vérifie même
si (au cas ou un bouton pendant la création aurait été supprimé )
autrement dit
creation de bouton: id="Button_1"
creation de bouton: id="Button_2"
creation de bouton: id="Button_3"
creation de bouton: id="Button_4"
suppression du bouton avec le id "Button_2"
creation de bouton: id="Button_2"
voila aucun trou dans le décompte
oserais-je dire aussi qu'il y a un bouton spécial a coté de l'input pour mettre un id particulier
histoire de le reconnaitre même a partir d'un autre ruban par l’intermédiaire de idQ
et que les callbacks peuvent être créés avec le label
exemple:
le xml
set bien le calback seraVB:<button id="button_1" imageMso="DatabaseLinedTableManager" size="large" label="Actualisation Données" onAction="button_1_Click" supertip="Permet d'actualiser les données issues des garages."/>
impossible de se tromper dans les callbackCode:sub Actualisation_Données_click(control As IRibbonControl) msgbox control.id End Sub
bien que j'ai laissé la possibilité de mettre le nom de callback que l'on veut ,je le déconseille aux débutants
d'autant plus que dans les callback générés on trouve ce genre de chose
visuel
Regarde la pièce jointe 1217988
code du callbak
on voit bien que le commentaire du callback nous en dis long sur l'élément non ?Code:'procedure {onAction} du bouton [ID:''button_1'' Label:''Bird (Anniversaire)'']'dans le parent [menu_1'' Label:''Date 2''] Sub Bird_Click(control As IRibbonControl) 'DATEDIFF_AMJ4$(ByVal dat1 As Date, Optional ByVal dat2 As Date = 0, Optional JustYear As Boolean = False) ActiveCell.Formula = "=DATEDIFF_AMJ4(,,)" CreateObject("WScript.Shell").SendKeys "{F2}{LEFT}{LEFT}{LEFT}" End Sub
@JPaul78 fait ses armes laissons le aller à son rythme
Bonjour @ValtrazeBonjour à tous,
Je sais que ce post n'est pas prévu pour débattre du fichier de @JPaul78. Mais bon.
Petites pensées personnelles...
Quand je vois des lignes de codes comme ceci. C'est juste pas possible.XML:<?xml version="1.0" standalone="yes"?> <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="CustomUIOnLoad"> <!--CreatorRibbonX ImageMso 2025 Version 6.5+ developed BY patricktoulon--> <!--project Ribbon name :test_solidarauto--> <ribbon startFromScratch="false"> <tabs> <tab idMso="TabAddIns" getVisible="provix_TabAddIns_getVisible"/> <tab idMso="TabHome" getVisible="provix_TabHome_getVisible"/> <tab idMso="TabInsert" getVisible="provix_TabInsert_getVisible"/> <tab idMso="TabPageLayoutExcel" getVisible="provix_TabPageLayoutExcel_getVisible"/> <tab idMso="TabFormulas" getVisible="provix_TabFormulas_getVisible"/> <tab idMso="TabData" getVisible="provix_TabData_getVisible"/> <tab idMso="TabReview" getVisible="provix_TabReview_getVisible"/> <tab idMso="TabView" getVisible="provix_TabView_getVisible"/> <tab idMso="TabDeveloper" getVisible="provix_TabDeveloper_getVisible"/> <tab id="tab_1" label="Solidarauto"> <group id="group_0" label="Mise à Jour" imageMso="AccessRefreshAllLists"> <button id="button_1" imageMso="DatabaseLinedTableManager" size="large" label="Actualisation Données" onAction="button_1_Click" supertip="Permet d'actualiser les données issues des garages."/> </group> <group id="group_1" imageMso="CalendarMonthDetailsSplitButton" label="Année de Référence"> <labelControl id="labelControl_1" label="Choix Année de Référence"/> <comboBox id="comboBox_1" imageMso="CalendarMonthDetailsSplitButton" onChange="comboBox_1_onChange" getText="comboBox_1_getText" getItemCount="comboBox_1_getItemCount" getItemLabel="comboBox_1_getItemLabel"/> </group> <group id="group_2" label="Export Format PDF" imageMso="PowerQueryDataFromPDFFile"> <button id="button_2" label="Export Indicateurs" size="large" onAction="button_2_Click" supertip="Exporte la page générale des indicateurs au format pdf." imageMso="FileEmailAsPdfEmailAttachment"/> <button id="button_3" imageMso="PowerQueryDataFromPDFFile" onAction="button_3_Click" size="large" label="Export benchmark" supertip="Exporte le benchmark des garages au format pdf."/> </group> <group id="group_3" label="Sauvegarde" imageMso="AutoSaveSwitch"> <button id="button_4" size="large" label="Sanvegarde Indicateurs" onAction="button_4_Click" supertip="Permet de sauvegarder l'ensemble des indicateurs et des bases de données dans un fichier Excel (A réaliser tous les ans)." imageMso="AutoSaveSwitch"/> </group> <group id="group_4" label="Administration" imageMso="ControlsGalleryClassic"> <button id="button_5" label="Affichage Admin." size="large" onAction="button_5_Click" supertip="Permet l'affichage de tous les onglets et de l'ensemble du ruban." imageMso="ControlsGalleryClassic"/> <button id="button_6" size="large" label="Choix Répertoire" supertip="Permet de choisir le répertoire qui regoupe tous les fichiers indicateurs envoyés par les garages." onAction="button_6_Click" imageMso="ToggleFolderShowInFavorites" getVisible="button_6_getVisible"/> </group> </tab> </tabs> </ribbon> </customUI>
Est-ce si compliqué de donner des noms de contrôle explicite ?Code:<button id="button_6"
Je m'en rapproche aussi.😉.Merci à vous deux, à mon âge qui se rapproche des septuagénaires il me faut des délais de réflexions. Mais je suis friands d'informations qui me font progresser.
Cela viendra, petit à petit. Vous avez du temps maintenant.De plus je suis totalement ignare sur la programmation XML et j'ai peur de faire plus de mal que de bien.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="CustomUIOnLoad">
<!--CreatorRibbonX All Image 2025 Version 6.2 developed BY patricktoulon-->
<!--project Ribbon name :bouton menu insertion image-->
<ribbon startFromScratch="false">
<tabs>
<tab idMso="TabInsert" visible="true">
<group id="group_1" label="." insertBeforeQ="GroupInsertIllustrations" centerVertically="true">
<splitButton id="splitButton_1" size="large">
<button id="iconX" label="Images" imageMso="AutoSigInsertPictureFromFile"/>
<menu id="menu_1">
<menu id="menu_2" label="Placer dans la cellule" imageMso="MailMergePictureFieldInsert" screentip="Placer dans la cellule" supertip="Insérer une image directement dans la cellule l'image peut être déplacée,triée,filtrée et référencée dans les cellule">
<menuSeparator id="menuSeparator_1" title="Insérer une image à partir de"/>
<button id="button_1" label="Cet apareil" screentip="Insertion Image (cet apareil)" supertip="Insérer une image à partir de cet appareil" imageMso="AutoSigInsertPictureFromFile" tag="1" onAction="Cet_apareil_Click"/>
<button id="button_2" label="Apareil mobile" screentip="Insertion Image(apareil mobile)" supertip="Insertion d'image à partir de : * Telephone mobile * Tablette connectée * Disque dur connecté en bluetooth" imageMso="QuickSearchHasMobilePhone" tag="1" onAction="Apareil_mobile_Click"/>
<button id="button_3" label="Images d'archive" supertip="Insertion d'images d'archive procedure d'extraction dans dossier temporaire" screentip="C" imageMso="NewWorkspaceFromArchive" tag="1" onAction="Images_d'archive_Click"/>
<button id="button_4" label="Images en ligne" screentip="Insertion d'image en ligne" supertip="Insertion d'image a partir du web " imageMso="MailMergeMorePictureOptions" tag="1" onAction="Images_en_ligne_Click"/>
</menu>
<menu id="menu_3" label="Placer sur les cellules" imageMso="AutoSigInsertPictureFromFile" supertip="Insérer une image directement dans la plage de cellule ">
<menuSeparator id="menuSeparator_2" title="Insérer une image à partir de "/>
<button id="button_5" label="Cet apareil" supertip="Insérer une image à partir de cet appareil" screentip="Insertion Image (cet apareil)" imageMso="AutoSigInsertPictureFromFile" tag="2" onAction="Cet_apareil_Click"/>
<button id="button_6" label="Apareil mobile" screentip="Insertion Image(apareil mobile)" supertip="Insertion d'image à partir de : * Telephone mobile * Tablette connectée * Disque dur connecté en bluetooth" imageMso="QuickSearchHasMobilePhone" tag="2" onAction="Apareil_mobile_Click"/>
<button id="button_7" label="Images d'archive" supertip="Insertion d'images d'archive procedure d'extraction dans dossier temporaire" screentip="Insertion d'images d'archive" imageMso="NewWorkspaceFromArchive" tag="2" onAction="Images_d'archive_Click"/>
<button id="button_8" label="Images en ligne " screentip="Insertion d'image en ligne" supertip="Insertion d'image a partir du web " imageMso="MailMergeMorePictureOptions" tag="2" onAction="Images_en_ligne__Click"/>
</menu>
</menu>
</splitButton>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Nous utilisons des cookies essentiels pour faire fonctionner ce site, et des cookies facultatifs pour améliorer votre expérience.