Access VBA - débutant

Résolu
vinc02 Messages postés 166 Statut Membre -  
vinc02 Messages postés 166 Statut Membre -
Bonjour,

Je suis débutant en Visual basic sur Access et j'ai essayé un code pour un calcul mais cela ne fonction pas, pouvez vous m'aider ?

function calcul (Quantité1 as Integer, Tps alloué as Integer, Durée as Integer
calcul = (Quantité1 * Tps alloué) / Durée
End Function

Vincent

5 réponses

  1. Utilisateur anonyme
     
    je ne faitpas de acces , mais je suis pas sur qu'une variable puisse avoir un espace ... essaie de remplacer tps alloué par tps_alloué , et voit ce que ca donne
    0
  2. vinc02 Messages postés 166 Statut Membre 10
     
    bonjour Dudu3838,

    je te remercie de ta réponse mais cela ne fonctionne toujours pas

    vincent
    0
    1. castours Messages postés 2955 Date d'inscription   Statut Membre Dernière intervention   217
       
      bonjour
      essaie ceci
      calcul = ([Quantité1] *[ tps_alloué]) / [durée]
      pour faire des calculs, il faut des champs declarés en numerique
      0
    2. vinc02 Messages postés 166 Statut Membre 10
       
      Je te remercie peut tu me dire aussi ce qui ne va pas dans la ligne supérieur car il m'indique toujours une erreur.

      Vincent
      0
  3. vinc02 Messages postés 166 Statut Membre 10
     
    Edit : Modification de la formule mais toujours le même probème

    Sub calcul()
    Function calcul(Quantité1 As Integer, tps_alloué As Integer, durée As Integer)
    calcul = (Quantité1 * tps_alloué) / durée
    End Function
    0
  4. tessel75
     
    Bonsoir,
    Il faut beaucoup mieux utiliser une requête pour ce genre de calcul. Une opération comme cela dans VBA ne te donnera jamais qu'un seul résultat à la fois.
    Comme tu l'as écris, tu ne risques pas d'avoir un résultat parce que tu n'indiques pas à Access où il doit chercher les valeurs de tes paramètres [Quantité1], [Tps alloué], [Durée]
    Il faudrait au minimum que tu aies des expressions du genre:
    Quantite1 = [Forms]![MonFormulaire]![Quantite1]
    TpsAlloue= [Forms]![MonFormulaire]![TpsAlloue]
    Duree= [Forms]![MonFormulaire]![Duree]
    Seulement après ça il peut effectuer l'opération
    NB: Bannir les espaces et les accents dans les mots, Acces les supporte, mais quand il se fache, sans prévenir, tout le boulot est à recommencer.

    Bonne suite
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. vinc02 Messages postés 166 Statut Membre 10
     
    Bonjour Tessel75,

    Je te remercie de ta réponse :)

    Vincent
    0