IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Appel des fonctions à partir d'un module


Sujet :

VB 6 et antérieur

  1. #21
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    Citation Envoyé par walf80
    Tu ne pouvais pas le savoir...

    Et je sais mêm pas appeler les fonctions...enfin bref les modules et classes je ne maîtrise pas donc si vous pouvez m'aider
    Pardon mais, pour moi y'a un problème là ... Tu ne maitrises aucune notion d'algorithmie ni de programmation, je ne vois même pas l'utilité de ce post à part obtenir une solution de facilité.

  2. #22
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Citation Envoyé par walf80
    Merci, je vais essayer mais bon je ne pense pas y arriver car moi le VB c'est pas trop mon truc...
    Alors là, lulux, tu fais fort!

    Que viens-tu faire ici si le VB c'est pas trop ton truc et que tu te lances dans un développement bien trop gros pour toi???

    Je me trompe, ou tu veux qu'on te fasse ton application par petits morceaux, en montrant à chaque fois ce qui t'a été donné dans les réponses précédentes?

    Il va falloir que tu choisisses.
    Soit tu t'y mets sérieusement et tu ne postes que si tu ne trouves pas après avoir étudié, cherché dans l'aide en ligne et sur ce forum, soit tu risques que toute question ayant sa réponse dans l'aide ou sur le forum soit supprimée sans autre avis.

    Et j'ajoute que, pour ce qui est de ton analyse, il faudra que tu la fasses seul.
    Ce n'est pas notre rôle.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #23
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    je maîtrise un peu le VB mais ce que je maitrise pas c'est les modules, c'est tout...Et pour ce qui est de mon application il me reste plus que ça à faire, c'est-à-dire de tout regrouper pour un client si il possède 2 ou 3 pièces...

  4. #24
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    On place dans les modules le code qui servira pour toutes tes feuilles. Va faire un tour du côté des tutoriels, de la FAQ et trouve toi un bouquin ou un tuto sur l'algorithmie. Ça urge!

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    trouve toi un bouquin ou un tuto sur l'algorithmie.
    Je demande de l'aide c'est le but de ce forum nan? C juste que je ne sais pas par où commencer afin de coder...

  6. #26
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Il faut commencer par analyser. Le code, ça vient après.

    Les meilleurs cours pour l'Algorithmique.

  7. #27
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    Zaza Tu peux vraiment pas m'aider de me dire coment on fait une ligne la première juste une ligne STP...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Code de mon module
    Option Explicit
    Dim mintTotal As Integer
    Public Function Totalise(Valeur As Integer) As Integer
      On Error GoTo 0
      Totalise = 0
      mintTotal = mintTotal + Valeur
      Exit Function ' ok nous sortons
    GereErreur:
      Totalise = 1
    End Function
    'Call Correspondance(Montype, MonProfil)

  8. #28
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    Totaliz.bas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Option Explicit
     
        Dim mintTotal As Integer
        Dim nom As String
        Dim ref As String
        Dim profil As String
        Dim nom_piece As String
        Dim tot As Double
        Dim ens As Integer
        Dim totG As Double
    '    Dim montableau() As Montype
     
    'Call Correspondance(Montype, MonProfil)
     
    Public Function fiche(Valeur As Integer) As Integer
      On Error GoTo 0
      fiche = 0
      mintTotal = mintTotal + Valeur
      Exit Function ' ok nous sortons
    GereErreur:
      fiche = 1
        nom = Clt.txtclt
        ref = Clt.Txtref
    End Function
    pour l'instan j'ai ça, est-ce bon?
    ça signifie bien que je garde en mémoire le nom du client et la réf...Mais comment on fait pour une fois que j'ai saisie faire un ajout de pièce (Clique sur le bouton form3).

  9. #29
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Une fonction, on doit lui passer un (ou des) paramètre(s) et elle renvoie une valeur.

    Sa déclaration doit donc avoir une forme de ce genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Function SonNom(param1 As UnType, param2 As UnType) As LeTypeDeVariableRenvoyée
    A l'intérieur de la fonction, pour assigner une valeur à renvoyer:
    On est vraiment, là, dans les bases de la programmation.
    Si tu ne connais pas ça, pourquoi cherches-tu à faire une application qui est au-dessus de tes capacités?

    Il n'y a, dans cette question, aucune méchanceté mais je m'interroge très sérieusement sur tes motivations.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  10. #30
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    Dans mon application enfaite javais oublié que un client pouvait nous donner deux profil donc je ne voyais pas commen fR la fonction...La sauvegarde jy suis arriV tt seul...

  11. #31
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,
    Ne vous focalisez pas sur cette fonction totalise, sortie de son contexte de la classe elle ne vous est pas forcément utile. (Pour info : Je l'avais indiqué dans le cas ou vous auriez de nombreux calculs afin de centraliser. Elle renvoyait un N° d'erreur en cas de problème)

    Maintenant que vous avez décrit un peu plus le problème (par l'edit de votre premier post), faite simple.

    Une variable globale (public) comprenant le total général est suffisant (ce n'est pas très propre mais c'est simple).
    A chaque passage dans la form3 pour le même client vous faites la somme TotalGeneral=TotalGeneral+... (... c'est la valeur. Exemple, 1ère fois : 7.84; 2 ème fois : 2.642)
    Cette solution semble plus simple, non?

    Su clic ajout pièce, vous placer toutes les infos dans récap et vous recommencer la manip (form1,2,3) lors du clic sur récapitulatif comme vous faite actuellement + le total général si le client avait plusieurs pièces.
    Réfléchissez si cette façon de faire résout votre problème avant de programmer.

    A+, Hervé
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  12. #32
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Le problème avec les variables globales déclarées publiques, c'est que ce n'est pas très sécuritaire.

    Je recommande donc à notre ami de plancher sur l'analyse de son application. Le gros du boulot se fait toujours là. Plus une analyse est faite en profondeur, plus il devient facile de la programmer. Hormis les quelques difficultés qu'apporte l'apprentissage d'un langage. Le simple fait d'admetre un oubli
    javais oublié que un client pouvait nous donner deux profil
    dénote d'un manque d'analyse, d'où mon intervention.

    Zaza Tu peux vraiment pas m'aider de me dire coment on fait une ligne la première juste une ligne STP...
    Non, vraiment pas! C'est bien simple, je n'ai rien compris à ton problème. Et puis, depuis le début je me demande: "Mais pourquoi quatre fenêtres pour un traitement, puis retour à la première? Cette boucle de fenêtres qui sautent au visage de l'utilisateur ne va pas finir par le fatiguer?" Ce qui me fait dire que tout ça manque d'analyse... encore et encore...

  13. #33
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour Zazaraignée
    Je suis tout à fait d'accord avec toi pour les variables globales (d'ailleur j'indique que ce n'est pas propre).
    C'est pour cela que j'étais parti sur le principe d'une classe, (mais Walf80 nous a dit qu'il n'avait pas l'habitude), il faut avoir une bonne pratique de VB.

    Walf80, je n'arrive pas vraiment à t'aider, c'est trop confus, il vaut donc mieux que tu travailles ton analyse et va au plus simple.
    Au revoir.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  14. #34
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    Mais non ça ne vas pas être fatiguant pour l'utilisateur car les pièces et profil sont des combobox. L'utilisateur ne saisit que le client, la réf et les valeurs c'est tout c'est simple à utiliser...Y'a que les modules que je n'y arrive pas à mettre en place...

  15. #35
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,
    Ou en est ta fonction ?

    Pour les modules zazaraignée t'a dit
    On place dans les modules le code qui servira pour toutes tes feuilles.
    donc rien de spécial, c'est du code vb. Il faut simplement déclarer les procédures et fonctions en public pour être visible partout dans ton projet.
    A+, Hervé.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  16. #36
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    Toujour au même point...
    C'est-à-dire que je n'arrive pas à démarrer, je cherche des exemple sur le Net et tout mais je vois pas comment démarrer ? En faite C une fois que je suis lanC c bn je marrete plus lol

  17. #37
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Montre le code de ta fonction.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  18. #38
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    Le module s'appelle Totaliz.abs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Option Explicit
    Dim minttotal As Double
     
    Public Function totG(Valeur As Double) As Integer
    On Error GoTo 0
    totG = 0
    minttotal = minttotal + Valeur
    Exit Function ' ok nous sortons de la fonction
    GereErreur:
    totG = 1 'une erreur on note
    End Function
    Pour l'instant j'ai ça...ça me cumule le totG de ma form3 dc ensuite pour appeler je met Je peux te passer mon code de la form3 ou les noms de mes txtbox et combobox, tu comprendra mieu, nan ?

  19. #39
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Il faut mettre On Error GoTo GereErreur (pas 0)

    L'appel de la fonction se fait par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (totG(10)<>0) then 'tu rajoutes 10 il faut remplacer le 10 par ta variable contenant le nombre à ajouter
      ' ici un message d'erreur pour l'utilisateur
    end if
    La fonction n'est pas une procédure, elle renvoie une valeur.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  20. #40
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Option Explicit
    Dim minttotal As Double
     
    Public Function totG(Valeur As Double) As Integer
    On Error GoTo 0
    totG = 0
    minttotal = minttotal + Valeur
    Exit Function ' ok nous sortons de la fonction
    GereErreur:
    totG = 1 'une erreur on note
    End Function
     
    if (totG(10)<>0) then 'tu rajoutes 10 il faut remplacer le 10 par ta variable contenant le nombre à ajouter
      ' ici un message d'erreur pour l'utilisateur
    end if
    Dan quel ordre ? C'est pour le cumul et pour les profil à ajouter, comment je fais

Discussions similaires

  1. appel des fonctions d'un driver dans un programme en c
    Par richie25 dans le forum Windows
    Réponses: 5
    Dernier message: 10/01/2006, 08h27
  2. Réponses: 6
    Dernier message: 30/09/2005, 00h53
  3. appel de fonction à partir d'une image activer/desactiver
    Par philippe123 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/08/2005, 16h26
  4. appeler plusieurs fonctions à partir d'une checkbox
    Par amelhog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/05/2005, 16h10
  5. Appel à des fonctions incluses dans des DLL
    Par Greybird dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 13h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo