Opération trop complexe
Résolublux Messages postés 26531 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 16 décembre 2024 - 14 mai 2024 à 16:37
- Impossible d'effectuer l'opération l'objet ayant été supprimé
- Recuperer message whatsapp supprimé - Guide
- Vente objet occasion entre particulier - Guide
- Impossible de supprimer une page word - Guide
- Impossible de supprimer un fichier - Guide
9 réponses
9 mai 2024 à 16:02
Salut,
quel type d'application ?
9 mai 2024 à 16:03
bonsoir, c'est une application access
9 mai 2024 à 19:49
bonjour,
soit les données ne sont pas identiques
soit l'état est mal conçu, et consomme inutilement trop de resources
10 mai 2024 à 13:12
Bonjour et merci pour l'intérêt que vous portez à mon activité,
Vous avez sans doute raison concernant la deuxième option ; la consommation inutile de trop de ressources. J'ai dans ma requête 3 champs avec fonctions IIF assez longues. J'aurais aimé les convertir en VBA mais je ne maîtrise ce domaine.
Y aurait-il une formule pour convertir ces requêtes en VBA ?
Voici ces 3 champs :
champ 1: VraiFaux([AK3]<2000000;[AK3]*0;VraiFaux([AK3]<5000000;2000000*0+([AK3]-2000000)*0;VraiFaux([AK3]<10000000;2000000*0+(5000000-2000000)*0+([AK3]-5000000)*0,01;VraiFaux([AK3]<50000000;2000000*0+(5000000-2000000)*0+(10000000-5000000)*0,01+([AK3]-10000000)*0,02;2000000*0+(5000000-2000000)*0+(10000000-5000000)*0,01+(50000000-10000000)*0,02+([AK3]-50000000)*0,05))))
Champ 2: VraiFaux([AV2]<2000000;[AV2]*0;VraiFaux([AV2]<5000000;2000000*0+([AV2]-2000000)*0,07;VraiFaux([AV2]<10000000;2000000*0+(5000000-2000000)*0,07+([AV2]-5000000)*0,1;VraiFaux([AV2]<50000000;2000000*0+(5000000-2000000)*0,07+(10000000-5000000)*0,1+([AV2]-10000000)*0,15;2000000*0+(5000000-2000000)*0,07+(10000000-5000000)*0,1+(50000000-10000000)*0,15+([AV2]-50000000)*0,2))))
Champ 3: VraiFaux([BA2]<2000000;[BA2]*0,1;VraiFaux([BA2]<5000000;2000000*0,1+([BA2]-2000000)*0,15;VraiFaux([BA2]<10000000;2000000*0,1+(5000000-2000000)*0,15+([BA2]-5000000)*0,2;VraiFaux([BA2]<50000000;2000000*0,1+(5000000-2000000)*0,15+(10000000-5000000)*0,2+([BA2]-10000000)*0,3;2000000*0,1+(5000000-2000000)*0,15+(10000000-5000000)*0,2+(50000000-10000000)*0,3+([BA2]-50000000)*0,4))))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question10 mai 2024 à 15:25
peux-tu partager ton fichier?
11 mai 2024 à 15:30
Comment envoyer mon fichier access à travers le forum
11 mai 2024 à 15:37
Publier le fichier sur Internet (google drive, cjoint.com, ...), puis partager ici un lien vers le fichier.
13 mai 2024 à 14:27
https://www.cjoint.com/c/NEnmz7lbiaF
13 mai 2024 à 16:23
Un exemple de fonction VBA pour le calcul de parv:
Public Function fparv(p) If p < 2000000 Then fparv = 0 * p Else If p < 5000000 Then fparv = 2000000 * 0 + (p - 2000000) * 0 Else If p < 10000000 Then fparv = 2000000 * 0 + (5000000 - 2000000) * 0 + (p - 5000000) * 0.01 Else If p < 50000000 Then fparv = 2000000 * 0 + (5000000 - 2000000) * 0 + (10000000 - 5000000) * 0.01 + (p - 10000000) * 0.02 Else fparv = 2000000 * 0 + (5000000 - 2000000) * 0 + (10000000 - 5000000) * 0.01 + (50000000 - 10000000) * 0.02 + (p - 50000000) * 0.05 End If End If End If End If
Tu mets ce code dans un module, et, dans la requête, tu fais ainsi pour calculer parv:
fparv([AK2]) AS parV,
14 mai 2024 à 15:00
Bonjour,
J'ai pu intégrer tous les codes dans les différents champs et ça marche parfaitement. Le seul bémol que j'ai rencontré était l'absence de "End function" à la fin du code que j'ai finalement inséré.
Je ne sais comment vous remercier de m'avoir guidé pas à pas jusqu'à ce que je puisse sortir l'épine de mon pied.
Grandement merci !
Modifié le 14 mai 2024 à 16:05
Content d'avoir pu te donner un coup de main.
Désolé pour le "end function", négligé dans le couper/coller.
Peux-tu marquer la discussion comme résolue?
14 mai 2024 à 16:37
J'ai fait...