Access VBA - débutant

Résolu/Fermé
vinc02 Messages postés 148 Date d'inscription mardi 7 janvier 2014 Statut Membre Dernière intervention 16 avril 2017 - 30 janv. 2014 à 08:14
vinc02 Messages postés 148 Date d'inscription mardi 7 janvier 2014 Statut Membre Dernière intervention 16 avril 2017 - 3 févr. 2014 à 07:17
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

Utilisateur anonyme
30 janv. 2014 à 08:47
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
vinc02 Messages postés 148 Date d'inscription mardi 7 janvier 2014 Statut Membre Dernière intervention 16 avril 2017 10
30 janv. 2014 à 09:12
bonjour Dudu3838,

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

vincent
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
30 janv. 2014 à 12:13
bonjour
essaie ceci
calcul = ([Quantité1] *[ tps_alloué]) / [durée]
pour faire des calculs, il faut des champs declarés en numerique
0
vinc02 Messages postés 148 Date d'inscription mardi 7 janvier 2014 Statut Membre Dernière intervention 16 avril 2017 10
30 janv. 2014 à 12:39
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
vinc02 Messages postés 148 Date d'inscription mardi 7 janvier 2014 Statut Membre Dernière intervention 16 avril 2017 10
30 janv. 2014 à 09:30
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vinc02 Messages postés 148 Date d'inscription mardi 7 janvier 2014 Statut Membre Dernière intervention 16 avril 2017 10
3 févr. 2014 à 07:17
Bonjour Tessel75,

Je te remercie de ta réponse :)

Vincent
0