Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2839 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [PB] vb et procédure

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PB] vb et procédure

n°922613
gling
Posté le 14-12-2004 à 12:23:02  profilanswer
 

Voilà une question qui je l'espere va etre simple pour nombre d'entre vous :
 
comment passer en parametre le nom d'une procédure ?
Je cherche mais je ne trouve pas...
 
Voilà ce que je veux faire :
 
dans la feuille MDI
 
'personnalisation de la boite de dialogue ouvrir
cdl_ouvrir.DialogTitle = "Choisissez un fichier"
cdl_ouvrir.InitDir = "c:\"
cdl_ouvrir.CancelError = False
cdl_ouvrir.Filter = "fichier notes(*.notes)|*.notes"
cdl_ouvrir.ShowOpen
 
Open cdl_ouvrir.FileName For Input As #3
If MDIForm1.cdl_ouvrir.FileName = "C:\C.notes" Then
fonction_ouvrir (affichage_fm)
End If
 
Je veux donc passer le nom de la feuille, ici affichage_fm en parametre.
 
Dans un module, le code de la procedure
 
Public Sub fonction_ouvrir(feuille As String)
 
While Not EOF(3)
Input #3, element
feuille.txt_affnom(i) = element
Input #3, element
feuille.txt_affnote(i) = element
result = result + element
i = i + 1
Wend
Close #3
 
feuille.txt_result = result / 10
feuille.Show
 
Exit Sub
 
End Sub
 
voilà ca marche pas ca doit pas etre string ou ce ne doit pas être comme ca du tout mais j'aimerai bien avoir un peu d'aide.
 
Merci d'avance

mood
Publicité
Posté le 14-12-2004 à 12:23:02  profilanswer
 

n°922621
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 14-12-2004 à 12:30:33  profilanswer
 

Tu passes ta form sous forme de chaine, pas étonnant que ça marche pas ! C'est pas le nom qu'il faut passer en paramètre, mais la Form elle même

Code :
  1. Public Sub fonction_ouvrir(feuille As Form)
  2.    (...)
  3.    feuille.Show
  4.    (...)
  5. End Sub


De plus, ceci  

Code :
  1. (...)
  2.    Exit Sub
  3. End Sub


est redondant et inutile. Tu peux virer le Exit Sub

n°922632
gling
Posté le 14-12-2004 à 12:51:03  profilanswer
 

J'avais déjà essayé avec form mais ca ne fonctionne pas, il ne rentre meme pas dans la procedure.
 
Je l'ai appelé comme ceci :
fonction_ouvrir (C_fm)
 
pour le exit sub, c vrai que j'ai oublié de le virer, c'était pour un controle d'erreur.
 

n°922679
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 14-12-2004 à 13:31:05  profilanswer
 

t'utilises quelle version de VB ?


---------------
J'ai un string dans l'array (Paris Hilton)
n°922686
gling
Posté le 14-12-2004 à 13:41:57  profilanswer
 

VB 6
 
C'est le dernier hic que je rencontre,j'aimerai bien finir ce programme au plus vite.
 
Merci en tt cas pour ton aide ;)

n°923027
gling
Posté le 14-12-2004 à 16:46:30  profilanswer
 

ca ne doit pas être si dure tout de meme. Il suffit juste de remplacer mon : feuille.txt_affnom(i)  par le vrai nom de ma feuille (affichage_fm ou affichage_fm2 ou affichage_fm3). Le seul probème est de savoir comment passer en paramêtre le nom de ma feuille.
 
Mon programme marche sans utiliser de procédure mais j'aimerai mieux en créer pour avoir une meilleur visibilité.
 
Y'a plus d'idées ?
 

n°923303
mareek
Et de 3 \o/
Posté le 14-12-2004 à 21:16:00  profilanswer
 

gling a écrit :

J'avais déjà essayé avec form mais ca ne fonctionne pas, il ne rentre meme pas dans la procedure.
 
Je l'ai appelé comme ceci :
fonction_ouvrir (C_fm)


C'est à dire ? il te lance une erreur ?


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°923350
Profil sup​primé
Posté le 14-12-2004 à 21:59:28  answer
 

tu te complique bien la vie , a mon avis il suffirait de definir la form dans une variable Feuille ( as Form ) avant de faire appel a ta procédure Fonction_Ouvrir :
 

Code :
  1. Dim Feuille as Form
  2. (...)
  3. If choix = 1 then
  4. Set Feuille = Form2
  5. Fonction_ouvrir
  6. end If
  7. If choix = 2 then
  8. Set Feuille =Form3
  9. Fonction_ouvrir
  10. end If
  11. (...)
  12. Sub Fonction_ouvrir
  13. (...)
  14. Feuille.Show
  15. (...)
  16. End sub


Message édité par Profil supprimé le 14-12-2004 à 22:00:01
n°923443
gling
Posté le 15-12-2004 à 00:03:11  profilanswer
 

merci beaucoup ca marche impec avec la dernière soluce ;)
 
@ bientot


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [PB] vb et procédure

 

Sujets relatifs
Une question sur une procédurePassage de paramètres à une procédure
appel procedure ac tableauAppel procedure stockee avec websphere
[PL/SQL] insert, commit, rollback ds une procédure stockée ???Résultat de procédure stockée qui varie selon la JVM d'exécution
[Postgresql] Erreur étrange sur la création d'une procédure[vba] procédure "bloquée"
Pb SQL SERVEUR / ACCESS : éxecuter une procedure stockée[Oracle/PL-SQL] Passer un tableau en paramètre d'une procedure stockée
Plus de sujets relatifs à : [PB] vb et procédure


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR