Toolbar faire appel a different action selon ActivForm

[Résolu]
Signaler
Messages postés
5
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
2 novembre 2006
-
Messages postés
5
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
2 novembre 2006
-
bonsoir tout le monde ,

bon voila svp j'est besoin d'un petit coup de main sur mon projet de fin d'etude 

donc j'est une form Mdi ou y'as le menu principal j'est ajouté un toolbar ou plutot une j'en sait rien lol , avec une imageliste et tout jusque la nikel ,le but c que quand je clique sur rechercher par exemple dans la toolbar (MDI) l'action s'execute dans la  form active(child) alors que moi dans les form(child) j'est pour chaqu'une un boutton rechercher que j'est nommé de la méme facon (cmd_sear) dans toute les form car chaque recherche est faites de facon differente . j'espére que vous me suivez  
alors la le probléme c que le code que j'est ecrit me sort une erreur et je ne comprend pas d'ou ca provient sachant que j'avait deja travaillé avec le méme code avant ca et ca marchait dans un TP 
alors si quelqu'un peux me suggerer qlq chose un grand merci a lui et voici le code 

NB: pour case="li" cad pour afficher ou masquer la grille ca marche nikel sans probleme  

CODE  dans la form MDI :

Private Sub tool_ButtonClick(ByVal Button As MSComctlLib.Button)
Dim i As String


i = Button.Key


Select Case i


Case Is = "sav":
                        If ActiveForm.sav.Enabled = True Then Call ActiveForm.sav_Click
                       
Case Is = "delet":
                        If ActiveForm.delet.Enabled = True Then Call ActiveForm.delet_Click
                       
Case Is = "sear":
                        If ActiveForm.delet.Enabled = True Then Call ActiveForm.delet_Click
                       
Case Is = "cancel":
                        If ActiveForm.cancel.Enabled = True Then Call ActiveForm.cancel_Click


Case Is = "updat":
                        If ActiveForm.updat.Enabled = True Then Call ActiveForm.updat_Click


Case Is = "nouvo":
                        If ActiveForm.sav.Enabled = True Then Call ActiveForm.sav_Click


Case Is = "li":
                        If ActiveForm.grille.Visible = True Then
                           ActiveForm.grille.Visible = False
                        Else
                           ActiveForm.grille.Visible = True
                        End If
End Select


End Sub

ERREUR retourné
L'objet ne gére pas cette propriété ou cette méthode

merci.
                                                                                                                              SIMON

4 réponses

Messages postés
5
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
2 novembre 2006

bonjour ,
voila j'est fini par trouvé tout seul en fin de compte voila la solution au cas ou :
sachant que dans chaque form child j'est un bouton enregistrer effacer modifier ,...etc avec un code propre a la form et la ca marche

Private Sub tool_ButtonClick(ByVal Button As MSComctlLib.Button)
Dim i As String
i = Button.Key
Select Case iCase Is "sav":    main.ActiveForm.sav.Value ActiveForm.sav.EnabledCase Is "delet":  main.ActiveForm.delet.Value ActiveForm.delet.EnabledCase Is "sear":   main.ActiveForm.sear.Value ActiveForm.sear.EnabledCase Is "cancel": main.ActiveForm.cancel.Value ActiveForm.cancel.EnabledCase Is "updat":  main.ActiveForm.updat.Value ActiveForm.updat.EnabledCase Is "nouvo":  main.ActiveForm.sear.Value ActiveForm.sear.EnabledCase Is "li":     ActiveForm.grille.Visible Not ActiveForm.grille.Visible
End Select
End Sub
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
126
Bah comme il te le dit : tu dois utiliser une fonction ou une méthode qui existe pas... sur quelle ligne ca plante ?
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Je ne pourrais jamais m'empêcher (même à mon âge très avancé), d'être surpris de constater qu'en fin d'étude,
on puisse encore écrire ceci :

Case Is = "li":
   If ActiveForm.grille.Visible = True Then
      ActiveForm.grille.Visible = False
  Else
      ActiveForm.grille.Visible = True
  End If

qui, au bout du compte, équivaut à celà :

Case Is = "li"
  ActiveForm.grille.Visible = not ActiveForm.Grille.Visible

et c'est tout !!!
Messages postés
5
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
2 novembre 2006

re bonsoir
alors dabord jm merci pour la remarque j'en prend compte je t'oublirais pas dans les dedicaces mais si tu savait mon vieux dans quelle conditions je travaille cette application en plus c un travail sur le quel je bosse seul et le blem que j'est eu c le temp mais bof au fait le sujet c la teledeclartion CNSS des salaries par echange de fichier  informatisé avec le portail de la CNSS et la cerise sur le gateaux c que je doit integrer ca a une application de gestion de paie que je devellope aussi mais bon la je galére trop quand je termine je posterais et vous m'on dirais votre avis revenons a nous moutons

 en fait c pas la que ca plante DARK

Case Is = "li"
  ActiveForm.grille.Visible = not ActiveForm.Grille.Visible
'oui j'est adopté ton bout de code j'aime bien

ca plante dans tout les cas (case) sauf  Case Is = "li"