Bonjour,
Mon problème est assez bizarre.
J'ai un formulaire de base que j'appellerai "Form1" qui contient un ruban que j'appellerai "ruban1" et quelques autres formulaires associés à des rubans personnalisés selon le formulaire appelé (Ex.: form2 avec ruban2, form3 avec ruban3). Mon formulaire de base est toujours affiché.
Dans le ruban1 du formulaire de base "Form1", j'ai un bouton qui indique un résultat du compteur d'étiquettes. Ces étiquettes sont dans un sous-formulaires du "Form1" que j'appellerai "sous-Form1" et qui permet de cocher le champs "dImpEti" qui sert à indiquer si je veux des étiquettes oui ou non
(voir image jointe). Ce bouton sert aussi à gérer l'impression des étiquettes (cela fonctionne très bien).
Lorsque je suis dans l'écran "Form1" et que je clique dans le sous-formulaire sur le champ "dImpDos", mon compteur dans le ruban se met à jour sans problème.
Mon problème est lorsque j'ouvre et ferme un autre formulaire, je n'arrive plus à rafraichir mon compteur.
Exemple je veux afficher les infos de la ligne choisie, je clique sur la colonne du champ "Cote" pour afficher "Form2" avec le ruban2. Lorsque je referme ce formulaire, pour revenir à mon formulaire de base "Form1", si je clique dans le champs "dImpDos" du sous-form1, mon compteur ne se met plus à jour.
Voici une partie de ma programmation:
Dans mon champ "dImpDos", j'ai le code suivant
Dans le ruban1, mon bouton qui affiche le résultat du compteur est "btnDosEDos"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub dImpDos_Click() ' rafraichir la liste avant la MAJ. Me.Refresh End Sub Private Sub dImpDos_AfterUpdate() ' mettre à jour le rubanDO If Not (oMonRuban Is Nothing) Then oMonRuban.InvalidateControl ("btnDosEDos") End If End Sub
Dans mon fichier XML, je demande à mon bouton de mettre à jour le label comme ceci:
Dans VBA, j'ai programmé dans un module ma gestion du compteur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <button id="btnDosEDos" size="normal" description="Imprimer les étiquettes de dossiers" onAction="subSousMenusDO" supertip="Cliquer pour Imprimer les étiquettes des dossiers." screentip="Imprimer les étiquettes des dossiers." getLabel="getCompteur" getEnabled="Ruban_GetEnabled"/>
Ce que je ne comprends pas, c'est que lorsque je ferme un autre écran, je n'arrive plus à mettre à jour mon compteur en cliquant sur le champ "dImpDos" dans mon écran principal et ce même si je ne modifie rien dans la fenêtre que je viens de fermer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Public Sub getCompteur(control As IRibbonControl, ByRef Text) ... (j'ouvre les tables et vérifie le nombre d'étiquettes que je garde dans la variable intCptD, puis affecte le résultat à "text") Select Case control.ID Case "btnDosEDos" ' BOUTON dossier If intCptD < 1 Then Text = 0 Else Text = str(intCptD) End If ....
Pourquoi mon compteur arrête-t-il de fonctionner après la fermeture d'autres écrans?
Merci
Partager