Utiliser des commandbutton a partir d'un module

delmas01 - 5 févr. 2013 à 17:12
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 7 févr. 2013 à 12:01
bonjour à tous, j'aimerais que vous m'aidiez:
jai 3 form et dans chacune de ces form jai des bouton "Nouveau, Modifier, Enregistrer, Annuler, Supprimer, Chercher, Fermer, Last, Next, Previous et First"

je souhaiterais par exemple que lorsque je clique sur nouveau tous les autres boutons soient inactifs sauf "enregistrer" et "annuler" puis lorsque je clique sur "enregistrer" ou "annuler" tous les boutons soient à nouveau actifs.

Pour ne pas avoir à saisir plusieurs fois les codes j'ai écrit les fonctions suivantes dans un modules:

Public function desactivercmd()
cmdNouveau.Enabled = False
cmdEdit.Enabled = False
cmdEnregistrer.Enabled = False
cmdAnnuler.Enabled = False
cmdSupprimer.Enabled = False
cmdChercher.Enabled = False
cmdFermer.Enabled = False

cmdLast.Enabled = False
cmdNext.Enabled = False
cmdPrev.Enabled = False
cmdFirst.Enabled = False

End function

Public function activercmd()
cmdNouveau.Enabled = True
cmdEdit.Enabled = True
cmdEnregistrer.Enabled = True
cmdAnnuler.Enabled = True
cmdSupprimer.Enabled = True
cmdChercher.Enabled = True
cmdFermer.Enabled = True

cmdLast.Enabled = True
cmdNext.Enabled = True
cmdPrev.Enabled = True
cmdFirst.Enabled = True

End function



Ainsi, quand j'appelle par exemple la fonction
desactivercmd
à travers
cmdNouveau_click()
, ça m'affiche ceci:

Erreur d’exécution ‘424’ :
Un objet est requis

Je ne sais pas comment résoudre ce problème, aidez moi svp, merci d'avance

3 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
5 févr. 2013 à 17:21
Bonjour,
- passe donc tes objets en paramètres de la fonction (au fait : n'utilise pas une fonction comme une procédure ===>> utilise donc une procédure sub)


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
MJPMJPMJP Messages postés 18 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 15 février 2013
7 févr. 2013 à 11:42
bonjour
peut etre qu'il faut indiquer ou est le bouton (quel form)

FrmMonForm.cmdNext.Enabled = True


@+JP
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 févr. 2013 à 12:01
Oui, MJPMJPMJP, oui, mais relis son premier message ! Il ne va tout de même pas s'amuser à y mettre un select case pour traiter chaque Form !
Il pourrait également passer le Form en paramètre (f as Form par exemple) et traiter ensuite f.cmdNouveau, etc ...
Il pourrait également déclarer une variable F publique dans son module bas et s'en servir dans sa procédure
etc .. etc ...
Le plus clair pour lui sera sans aucun doute de faire ce que je lui ai dit (passer ses boutons en paramètres, d'autant qu'ils ne sont vraiment pas nombreux).


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
Rejoignez-nous