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

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

  • InfoBulle controle activX.xlsm
    30.1 KB · Affichages: 36

phlaurent55

Nous a quittés en 2020
Repose en paix
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

  • 111.xlsm
    22.8 KB · Affichages: 64
  • 111.xlsm
    22.8 KB · Affichages: 48
Dernière édition:

Spinzi

XLDnaute Impliqué
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 =)
 

phlaurent55

Nous a quittés en 2020
Repose en paix
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
 

Paf

XLDnaute Barbatruc
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+
 

Spinzi

XLDnaute Impliqué
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

  • InfoBulle controle activX vBis.xlsm
    30.2 KB · Affichages: 40

phlaurent55

Nous a quittés en 2020
Repose en paix
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

  • 111.xlsm
    29.9 KB · Affichages: 44
  • 111.xlsm
    29.9 KB · Affichages: 53

Spinzi

XLDnaute Impliqué
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
 

phlaurent55

Nous a quittés en 2020
Repose en paix
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

  • 111.xlsm
    29.9 KB · Affichages: 37
  • 111.xlsm
    29.9 KB · Affichages: 42

Spinzi

XLDnaute Impliqué
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

  • vba-bulle-sur-option-button-controle-activx-Spinzi.xlsm
    28.9 KB · Affichages: 32
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
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

  • 111.xlsm
    22.6 KB · Affichages: 40
  • 111.xlsm
    22.6 KB · Affichages: 43

Spinzi

XLDnaute Impliqué
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

  • 355036d1454492637-vba-bulle-sur-option-button-controle-activx-111.xlsm
    21.6 KB · Affichages: 29

Discussions similaires

Réponses
29
Affichages
2 K

Statistiques des forums

Discussions
315 098
Messages
2 116 190
Membres
112 679
dernier inscrit
Yupanki