Buton

ed -  
 amigo -
Bonjour,

voici mon problème,
j'ai un bouton auquel une macro est affecté
j'aimerais savoir comment rendre inactive ce bouton (enable)
bouton actif quand par exemple la cellule A1=0
bouton inactif quand cellule A1avec excel 2007

si vous savez??
merci

4 réponses

amigo
 
Bonjour,

Il y a une méthode toute simple ,c'est de commencer le code du bouton par une vérification du contenu de la cellule A1
comme par exemple;

Private Sub Bouton1_Click()
'dim ...
if range("A1").value<>0 thenExit Sub
'...
'...
End Sub

De cette façon, si la cellule A1=0 la Macro continue sinon elle s'arrête.

Salut.
0
Ed
 
merci amigo

mais commençant juste la programmation VBA je ne mis connait pas énormément
en fait tu me proposes de faire une vérif dans la macro à laquelle mon bouton est affecter???
cette vérif se situant en début de macro ainsi il y aurait 2 échappatoires pour ma macro
si ma cellule=0 alors la macro marche
si ma cellule=1 alors si on appuie sur le bouton ' voyant la vérif' la macro se finit illico??
0
Ed
 
salut amigo

je vient d'essayer ta méthode et je croit ke c bon cela marche
merci a toi
au début javais dans l'idée de rentre mon buton grisé (avec la commande enable) mais ta technique a l'air de marcher merci a toi

dernière question

est il possible de faire un double menu déroulant toujours sur excel 2007???
0
amigo
 
Oui, c'est ça, l'instruction Exit Sub placée à la suite du test If veut dire quitter la macro.
Si le test est vrai, l'instruction qui suit est exécuté sinon on passe à la ligne suivante.

D'ailleurs pour t'en rendre compte, rien de tel de d'essayer.
Si ça ne marche pas , montre moi ta macro , j'essayerai de corriger. A+
0
Ed
 
Merci beaucoup amigo tout marche bien

g 2 autre questions si tu connait le truc

1 : est ce possible de créer une double liste déroulante??



2 : comment fait on pour que quand jouvre ma use form calendrier celle ci saffiche avec la date du jour (excecl 2007)

j'ai essayer cela mais ca ne marche pas

Private Sub UserForm1_Activate()
' On initialise la date du calendrier
UserForm1.Day = Day(Now)
UserForm1.Month = Month(Now)
UserForm1.Year = Year(Now)
End Sub
merci davance
0
amigo
 
Pour la question 1

Je ne connais pas de controle double-liste déroulante. Peut etre que ça existe mais pas en standard.
Je connais seulement la ComboBox ou liste déroulante modifiable.

Pour la question 2

Private Sub UserForm1_Activate()
Calendar1.Value = Date ' si le calendrier s'appelle calendar1
End Sub

A+.
0
Ed
 
merci a toi amigo
tt fonctionne bien c nikel

si cela ne te dérange pas peux tu me parler plus en détail des combo box ou liste déroulante modifiable
cela a lair trés intéréssant et pourrer surement me servir
mais il te faudrait peut etre un cas concret pour me lexpliquer!! je ne sais pas trop

merci
0
amigo
 
Bonjour,

Tous les controles ont leur usage spécifique. Tout dépend de ce qu'on veut faire.
La liste déroulante permet de selectionner un objet dans une liste, mais ça tu le savais déjà, tu les utilises courament.
Dans le calendier il y en à deux, une pour les mois, une pour les annees.

Comment on les programme, c'est une autre histoire, surtout si on dédute. Regardes dans l'aide, il y a des exemples.
Sur le net aussi, il y a des sites consacrés à Excel et qui donnent plein d'astuces.

A moins d'avoir un projet concret, je ne peux pas t'en dire plus pour le moment.

A+.
0