[Résolu] VBA bulle sur option.button contrôle activX

  • Initiateur de la discussion Initiateur de la discussion Spinzi
  • Date de début Date de début

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 !

Spinzi

XLDnaute Impliqué
Bonjour à toutes et à tous

Première fois que j'essaie, tout seul, d'utiliser le VBA.

J'ai créé, via la barre d'outil "contrôle formulaire" des cases d'option.
Suivant ce qui est coché (une seule coche possible), ca me renvoie les valeurs de chaque case (3 au total) dans des cellules fixes.

j'aurai aimé ajouté, via VBA, un commentaire directement sur cette case d'option.
En passant par un commentaire de cellule, ce dernier est caché par la case, et donc ne s'affiche pas.

j'ai essayé de developper qqchose mais j'ai un message d'erreur :
"Erreur d'exécution '424' : Objet requis"

et voici le code que j'ai essayé de mettre en place (piqué sur un autre fichier trouvé sur la toile) :
Code:
Private Sub OptionButton1_Click()
OptionButton1.Font.Size = 16
End Sub
Private Sub OptionButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Label.Visible = False Then Label1.Visible = True
End Sub
Private Sub Label2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
 Label.Visible = False
End Sub

Si l'un d'entre vous avait les compétences pour corriger mon code et/ou, si ce n'est pas faisable, me proposer une autre solution ?

vous trouverez mon fichier ci-joint.

Merci d'avance =)
 

Pièces jointes

Re : VBA bulle sur option.button contrôle activX

Bonjour Spinzi,

Si l'un d'entre vous avait les compétences pour corriger mon code et/ou, si ce n'est pas faisable, me proposer une autre solution ?

une autre solution en pièce jointe sans contrôle ActiveX

à+
Philippe
 

Pièces jointes

Dernière édition:
Re : VBA bulle sur option.button contrôle activX

Bonjour Philippe,

la solution est convenable.
je vais attendre le retour de plus de personnes pour voir si qqun peut répondre de manière précise à mon besoin.
Le cas échéant j'utiliserai votre solution.

Merci =)
 
Re : VBA bulle sur option.button contrôle activX

Re,

L'OptionButton ActiveX ne possède pas la propriété ControlTipText qui fait apparaitre un message lors du survol de la souris

Je ne vois pas d'autre solution que celle que j'ai apportée en gardant l'infobulle sur la feuille

à+
Philippe
 
Re : VBA bulle sur option.button contrôle activX

Bonjour Spinzi, phlaurent55

pour l'OptionButton ActiveX une solution possible:

Code:
Private Sub OptionButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
 If (X > 5 And X < OptionButton1.Width - 5) And (Y > 5 And Y < OptionButton1.Height - 5) Then
    Label1.Visible = True
 Else
    Label1.Visible = False
 End If
End Sub

où Label1 est un Label(étiquette) ActiveX dont la propriété Visible est mise à False

plutot qu'un label on pourrait mettre sur le même principe, par exemple, une forme automatique.

A+
 
Re : VBA bulle sur option.button contrôle activX

Bonjour à tous les deux,

j'ai essayé de mettre en place ta solution Paf, mais j'ai une erreur d'execution '424' :
Private Sub OptionButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If (X > 5 And X < OptionButton1.Width - 5) And (Y > 5 And Y < OptionButton1.Height - 5) Then
Label1.Visible = True
Else
Label1.Visible = False
End If
End Sub

Et en paramétrant par défaut mon contrôle avec visible "Fasle", ce dernier disparait quand je quitte le mode création !

Je crois que je n'ai pas bien implémenté ta solution. Mais c'est evidemment une piste : afficher un commentaire de cellule à travers le contrôle activX.

Merci à vous
 

Pièces jointes

Re : VBA bulle sur option.button contrôle activX

Re,

une autre solution qui à l'avantage de faire apparaître un message qu'on peut facilement personnaliser au point de vue présentation, nombre de lignes, choix des caractères ( fonte, taille, couleur, .......... )

à+
Philippe
 

Pièces jointes

Re : VBA bulle sur option.button contrôle activX

Bonjour Philippe,

parfait ces 2 dernières solutions !
Si tu me dis que la dernière solution est plus flexible, je suis preneur : comment modifier le texte ? La forme de la zone de texte ?

Merci beaucoup !

Spinzi
 
Re : VBA bulle sur option.button contrôle activX

Re,
comment modifier le texte ?
- positionner la souris sur l'OptionButton pour faire apparaître le message
- glisser (très rapidement) la souris en dehors de l'OptionButton, le message devrait rester visible sur la feuille
- .............. il ne reste plus qu'à cliquer sur la forme qui contient le message et ensuite le modifier

comment modifier le texte ? La forme de la zone de texte ?
il vaut mieux supprimer la forme et la remplacer par une autre (ATTENTION, le nom de la nouvelle forme venant d'être créée doit apparaître dans la macro)

en pièce jointe, un autre exemple

à+
Philippe
 

Pièces jointes

Re : VBA bulle sur option.button contrôle activX

Bonjour tout le monde !

je me permets de revenir sur ce sujet :
après avoir mis en place mes 3 boutons et zones de texte, je remarque des lenteurs quand je veux afficher les bulles. Si je passe trop vite d'un bouton à un autre, les bulles ne disparaissent pas et s'empilent.

Est-ce que vous pensez que le code est améliorable pour palier ce problème ?
En revenant à votre premiere solution (case à cocher jaune), peut on optimiser la solution en ne pouvant cocher qu'une seule case à la fois et en ayant des coches rondes plutôt que le "☑" ?

ps : ci joint mon fichier. Si vous faites la navette entre les différents boutons, vous verrez de quoi il en retourne.

Merci à vous

Spinzi
 

Pièces jointes

Dernière édition:
Re : VBA bulle sur option.button contrôle activX

Re,

Si je passe trop vite d'un bouton à un autre, les bulles ne disparaissent pas et s'empilent.
c'est normal, car les procédures employées réagissent comme si on avait tracé un rectangle virtuel centré sur l'OptionButton

lors du passage de la souris sur ce rectangle la procédure affiche la forme (message à faire passer)

lors de la sortie de la souris à l'extérieur de ce rectangle (central et virtuel) la procédure de masquage du message se déclenche mais le problème c'est que cette zone est très étroite (5 pixels) et si la sortie de la souris se fait trop rapidement, le message reste affiché

Est-ce que vous pensez que le code est améliorable pour palier ce problème ?
le code, NON
mais peut-être en agrandissant l'OptionButton et en redéfinissant la zone qui déclenchera telle ou telle procédure (affichage / masquage )

En revenant à votre premiere solution (case à cocher jaune), peut on optimiser la solution en ne pouvant cocher qu'une seule case à la fois et en ayant des coches rondes plutôt que le "☑" ?
voir fichier joint

à+
Philippe
 

Pièces jointes

Re : VBA bulle sur option.button contrôle activX

Bonjour bonjour,

je reviens à la charge avec une nouvelle demande :
il faudrait que quand je coche disons la dernière coche à droite, que cela me masque les lignes 12 à 21.
Quand je coche une autre case (une des 2 premieres) il faudrait que les lignes réapparaissent.

n'étant pas expert en VBA, je n'arrive pas à implanter le code donné par l'enregistreuse de macro.

Pourriez vous m'aider à trouver une solution ?

Merci d'avance

PS : le fichier sera protégé et comme cela affecte la structure je ne sais pas si je peux avoir un blocage à ce niveau là, mais ce n'est pas le plus important.
 

Pièces jointes

- 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

Réponses
41
Affichages
704
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
319
Réponses
2
Affichages
169
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
483
Retour