Alternative au bouton ok

  • Initiateur de la discussion nicole
  • Date de début
N

nicole

Guest
bonjour tout le monde,

je cherche le code vba qui me permette lorsque je suis sur un formulaire de pouvoir réaliser la macro en tapant sur "entrée" sans être obligée de cliquer sur le bouton ok.

j'aimerais aussi pouvoir faire défiler un menu déroulant avec la molette de la souris sans avoir besoin de poser le curseur de la souris sur les ascenceurs.

Merci d'avance.
Je travaille sur excel 2000 avec vba et ai conçu des formulaires et 1 listbox
 
@

@+Thierry

Guest
Bonjour Nicole, le Forum

Pour ta première demande c'est très simple (si on parle bien de Control ActiveX CommandButton dans un UserForm) tu as deux moyens :

Soit en mode Design par la fenêtre Propriété du CommandButton en Question (Touche [F4]) et mettre la propriété "Default" à "True"

Soit par programmation en RunTime à l'initialisation du UserForm avec ce code (si il s'agit du "CommandButton1", sinon adapter avec le nom du Control :
Private Sub UserForm_Initialize()
CommandButton1.Default = True
End Sub


Pour ta seconde question, tu peux faire une recherche sur "Molette Souris" dans ce Forum, Ti nous a fait une très jolie démo. Toutefois les codes utilisés ne sont pas à la porté de tout le monde et de plus, l'utilisation de la molette n'ayant pas été rééllement prévue dans les ActiveX accessibles par VBA, celà reste assez aléatoire comme solution lorsuqe c'est intégré dans une appli "lourde" . (Voir les Problèmes de LaurentTBT)


Bon programmation et après midi
@+Thierry
 
N

nicole

Guest
Re: Alternative au bouton ok 2ème partie

Merci thierry pour tes informations.
j'aimerais aussi savoir comment écrire la ligne de code qui permette en double cliquant sur un des éléments de la listbox de le sélectionner.

merci d'avance
 
@

@+Thierry

Guest
Re: Alternative au bouton ok 2ème partie

Bonsoir Nicole, le Forum

Pour être XLD Compliant il aurait été plus judicieux de faire un nouveau Fil de Discussion car si tu suis bien le principe de ce Forum c'est une question précise par Fil, sinon on ne s'y retrouve plus.

Enfin ce que tu demandes n'est pas compliqué, voici la ligne de code :

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
MsgBox Me.ListBox1.Value
End Sub

Ce code placé dans le Private Module du UserForm contenant la ListBox1 retournera un MsgBox avec la valeur de l'Item double cliqué....

Si ta ListBox1 a été incrémentée de données par la Méthode "AddItem" ou encore "List" on peut, par exemple, envisager de supprimer l'item en question (Attention ne fonctionnera pas avec la méthode "RowSource")

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
MsgBox Me.ListBox1.Value
Me.ListBox1.RemoveItem (Me.ListBox1.ListIndex)
End Sub

Bonne Soirée
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 370
Messages
2 087 688
Membres
103 639
dernier inscrit
NIEMASAFI