Excel Ribbon - Lire les valeurs des EditBox

Bonjour,

J'ai ajouter un Ribbon personnalisé à un classeur avec une EditBox. A l'ouverture du classeur je change la valeur de la EditBox en fonction de l'utilisateur, et je voudrais utiliser cette valeur dans d'autres macro. Le probleme c'est que je ne trouve pas comment lire la valeur de la EditBox avec VBA, quelqu'un pourrait aider svp?

Dans mon code ça devrait ressembler a quelque chose comme ça:

If [EditBox1.value]=XX then ....

Merci

bonjour,

Voici l'aide de Microsoft sur le sujet :

getText (getText callback)

Specifies the name of a callback function to be called to determine the text that SHOULD be displayed in the control.

For example, consider the following XML fragment:

 <editBox   id="editBox" getText="GetEditBoxText" />

In this example, the GetEditBoxText callback function is called when the application needs to determine the text to display in the control.

The possible values for this attribute are defined by the ST_Delegate simple type, as specified in section 2.3.2.

Le lien : https://docs.microsoft.com/en-us/openspecs/office_standards/ms-customui/7b552756-a970-466d-b7c2-ee5b...

A+

Merci @galopin01 mais l'aide de Microsoft ne montre que comment écrire dans EditBox ou comment declancher un événement quand la valeur change. Moi je veux récupérer la valeur dans la EditBox à n'importe quel moment après l'avoir enregistré à l'ouverture du classeur.

A+

Malheureusement le lien n'a pas fonctionné. (Je n'ai pas eu le temps de le vérifier ce matin)

Cependant ma réponse disait bien l'essentiel : il s'agit de faire une fonction de CallBack avec la macro

"GetEditBoxText"

Sur ce plan je ne t'en dirais pas plus : Je suppose que ton Custom UI Editor devrait te proposer le texte de ce Callback dès lors que tu as inscrit la propriété GetText.

Malheureusement l'essentiel de cette documentation est en anglais. Il semble que très peu de programmeur Français se soient senti motivé par cette programmation sous Android...

Je n'ai pas essayé : Ici on est plutôt orienté PC. Ce n'est pas bien différent d'Android cependant il y a une syntaxe et un vocabulaire un peu spécifique :

Google est ton ami fait une recherche sur Exel Ribbon EditBox Callback Je pense que tu y trouveras ton bonheur.

Ce matin il m'a semblé voir cette fonction de Callback mais je ne suis pas foutu de la retrouver ce soir... Il me semble que c'était sur dévelopez.net mais je n'en suis pas certain.

EDIT: Pour revenir sur "Moi je veux récupérer la valeur dans la EditBox" tu peux la stocker (grâce à la fonction de callback) dans une variable publique et la récupérer quand tu veux ensuite.

A+

Bonjour,

Comme dit par Galopin, il faut utiliser la fonction de CallBack spécifique à ce contrôle

'Callback for MyEditBox1 onChange
Sub EditBox1_OnChange(control As IRibbonControl, text As String)
    If text = "XX" Then
End Sub

Avec cette définition

<editBox id="EditBox1" 
label="*"
onChange="EditBox1_OnChange"/>

Bonjour thev,

Effectivement getText ne semble pas approprié (je ne suis jamais très à l'aise avec les traductions techniques de ce type d'aide et quand il s'agit de décoder les discussions de helpeurs anglophones c'est encore pire...) Quand aux helpeurs d'expression française qui bricolent le ribbon, ils ne sont pas légion !

Finalement je n'ai toujours pas compris à quoi sert getText il semble que ça serve à la validation mais celle-ci intervient de toute façon quoi que tu fasses ?

A+

Salut à tous

Il faut juste prendre le coup, getText va être lu au chargement du Ruban c'est la valeur par défaut de la textbox, si tu veux le changer en court de route utilises InvalidateControl de ton ruban.

Rechercher des sujets similaires à "ribbon lire valeurs editbox"