Griser bouton VBA

Résolu/Fermé
Soundkal Messages postés 16 Date d'inscription vendredi 18 septembre 2009 Statut Membre Dernière intervention 20 janvier 2010 - 20 nov. 2009 à 16:50
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 25 nov. 2009 à 09:16
Bonjour,
je veux griser un bouton une fois que l'utilisateur s'en est servi. J'ai déjà cherché sur le site et trouvé de nombreuses réopnses, mais cela ne marche pas avec mon code.
Etant débutant je ne comprend pas pourquoi.
Si quelqu'un peut m'aider se serait parfait.

Ci-dessous mon code :


Sub Bouton60_QuandClic()

Call Tri

Bouton61.SetFocus
Bouton60.Enabled = False

End Sub

Bouton61 étant un autre bouton présent sur la page ou se trouve la bouton60.

PS : problème, VBA me dit : objet requis

merci d'avance

18 réponses

Soundkal Messages postés 16 Date d'inscription vendredi 18 septembre 2009 Statut Membre Dernière intervention 20 janvier 2010
23 nov. 2009 à 17:11
personne pour m'aider??
0
blux Messages postés 24432 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 3 octobre 2022 3 232
23 nov. 2009 à 17:20
Salut,

pourquoi tu donnes le focus à un autre bouton avant ?
0
Soundkal Messages postés 16 Date d'inscription vendredi 18 septembre 2009 Statut Membre Dernière intervention 20 janvier 2010
23 nov. 2009 à 17:25
j'ai lu sur les différent forum qu'il fallait mettre le focus sur un autre bouton pour pouvoir désactiver le premier.
Mais même sans mettre le focus sur un autre bouton cela ne marche pas...
0
blux Messages postés 24432 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 3 octobre 2022 3 232
23 nov. 2009 à 18:30
voui, t'as raison, on ne peut pas modifier le contrôle actif.

Je te propose ça (testé chez moi) :

Me.Commande1.SetFocus
Me.Commande0.Enabled = False

'Me' fait référence à l'objet courant contenant le contrôle.
0
Soundkal Messages postés 16 Date d'inscription vendredi 18 septembre 2009 Statut Membre Dernière intervention 20 janvier 2010
24 nov. 2009 à 09:06
Salut,

malheureusement j'ai déjà éssayé cette solution... mais ça ne marche toujours pas...


Sub Bouton60_QuandClic()

Call Tri

Me.Bouton61.SetFocus
Me.Bouton60.Enabled = False

End Sub

le message d'erreur qui apparait est le suivant :

Erreur de compilation : utilisation incorrect du mot clé Me

je ne sais pas si c'est le problème mais cela vient peut être de la création même de mon bouton...
j'ai vu sur les forums que certains utilisent des "privatesub". je ne sais pas vraiment quelle est la différence avec une "sub" normal mais c'est peut être ça ?

en tout cas merci d'avoir essayé...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blux Messages postés 24432 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 3 octobre 2022 3 232
24 nov. 2009 à 09:32
Tu as une version française ou anglaise ?

parce qu'en principe, on devrait avoir Sub Bouton60_Click()
0
Soundkal Messages postés 16 Date d'inscription vendredi 18 septembre 2009 Statut Membre Dernière intervention 20 janvier 2010
24 nov. 2009 à 09:42
Je pense avoir une version française parce que ça marche avec le "Sub Bouton60_QuandClic()".
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 194
24 nov. 2009 à 09:50
Bonjour,

Désolé de m'incruster...

Qu'y a-t-il dans ta procédure Tri ? Le problème vient peut de là, et non des boutons.

;o)
0
Soundkal Messages postés 16 Date d'inscription vendredi 18 septembre 2009 Statut Membre Dernière intervention 20 janvier 2010
24 nov. 2009 à 09:58
Salut,

"Tri" est une procédure qui me permet de classer des données selon différents critères.
La procédure marche très bien toute seule et ne fait appel à aucunes variables extèrieures. Je ne pense pas que le problème vienne de là mais je vais vérifier quand même.

Et pas de problème d'incruste, toute les idées sont bonnes à prendre.
0
blux Messages postés 24432 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 3 octobre 2022 3 232
24 nov. 2009 à 10:07
tu peux tenter un me.bouton61.visible = false ?

ton erreur du début "objet requis", elle est sur quelle ligne ?
0
Soundkal Messages postés 16 Date d'inscription vendredi 18 septembre 2009 Statut Membre Dernière intervention 20 janvier 2010
24 nov. 2009 à 10:12
l'erreur est sur la ligne :
Me.Bouton61.SetFocus

je vais tenter le "visible"...
0
blux Messages postés 24432 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 3 octobre 2022 3 232
24 nov. 2009 à 10:16
Il existe ton bouton61 ?
0
Soundkal Messages postés 16 Date d'inscription vendredi 18 septembre 2009 Statut Membre Dernière intervention 20 janvier 2010
24 nov. 2009 à 10:17
Bon...
ça me fait les mêmes problèmes qu'avec "enabled" :

si je ne met pas de "Me", j'ai une erreur "objet requis"
si je met Me.bouton61.visible = false , j'ai une "Erreur de compilation : utilisation incorrect du mot clé Me"
0
blux Messages postés 24432 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 3 octobre 2022 3 232
24 nov. 2009 à 10:23
J'ai cru que c'était avec ACCESS, si c'est pour EXCEL, "me" ne marche pas...
0
Soundkal Messages postés 16 Date d'inscription vendredi 18 septembre 2009 Statut Membre Dernière intervention 20 janvier 2010
24 nov. 2009 à 10:21
Oui le bouton éxiste.
en tout cas il apparait sur la feuille de calcul et quand j'appui dessus il fait bien la procédure "tri" avant de planter...
0
Soundkal Messages postés 16 Date d'inscription vendredi 18 septembre 2009 Statut Membre Dernière intervention 20 janvier 2010
24 nov. 2009 à 10:26
Oui je suis bien sous excel. désolé de pas avoir précisé.
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 194
24 nov. 2009 à 11:21
Ton bouton est un outil "Formulaire" pour lancer une macro et non un contrôle de la boîte à outils, tu ne peux pas passer le focus sur ce type bouton.
0
Soundkal Messages postés 16 Date d'inscription vendredi 18 septembre 2009 Statut Membre Dernière intervention 20 janvier 2010
24 nov. 2009 à 13:52
!!
ok
Et comment créer un contrôle de la boîte à outils?
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 194
24 nov. 2009 à 16:22
Il faut afficher la barre outil Visual Basic (menu Afficher -> cocher Visual Basic)

Tu ouvres la boîte à outils, tu as différents contrôles, dont le bouton. Tu le colles sur ta feuille. Tu double-cliques dessus, tu es dans l'éditeur VB de la feuille et tu peux faire directement :

Private Sub CommandButton1_Click()
    Me.CommandButton1.Enabled = False
End Sub


;o)
0
Soundkal Messages postés 16 Date d'inscription vendredi 18 septembre 2009 Statut Membre Dernière intervention 20 janvier 2010
25 nov. 2009 à 09:02
Héhé!!!

ça marche parfaitement !!! :)))

merci beaucoup

a+
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 194
25 nov. 2009 à 09:16
De rien

Tu peux peut être mettre le sujet en "résolu". Merci

Bonne continuation.

;o)
0