Saisie Algorithme en VBA

Résolu/Fermé
didy-star Messages postés 8 Date d'inscription mercredi 23 octobre 2013 Statut Membre Dernière intervention 4 mars 2018 - Modifié le 3 mars 2018 à 18:44
Whismeril Messages postés 19041 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 mai 2024 - 5 mars 2018 à 16:51
Bonjour à tous,

Bon je suis nulle en informatique, mais je dois saisir un algorithme en VBA.
Je suis donc dans mon logiciel, je rentre mon algorithme mais ça marche pas !
Plein de problèmes que je n'arrive pas à résoudre... Au niveau de la syntaxe, des fins d'instructions, bref des trucs qui me sont totalement inconnus !

Voici mon algorithme :

Public Function Commission(CA As Double)

'Fonction qui calcule la commission du représentant selon le barême par tranche

If CA < 2500 Then
Commission = 2500 * 25
Elself CA < 5000 Then
Commission = 2500 * 0.025 + (CA - 2500) * 0.05
Else
Commission = 2500 * 0.025 + 2500 * 0.05 + (CA - 5000) * 0.07
End If

End Function


La première ligne est surlignée en jaune. Et apparemment toute mes autres lignes ont des erreurs de syntaxe... Pas besoin de préciser que mon truc ne fonctionne pas, bref !

Merci de m'éclairer ! (et d'éviter les mots trop complexes :D )

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

4 réponses

NHenry Messages postés 15118 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 11 mai 2024 332
3 mars 2018 à 18:46
J'ai ajouté la coloration syntaxique et déjà, le "Elself" est suspect, je pense que tu as mis un L à la place d'un i.
1
didy-star Messages postés 8 Date d'inscription mercredi 23 octobre 2013 Statut Membre Dernière intervention 4 mars 2018
3 mars 2018 à 23:06
Le Eiself apparaît en erreur de syntaxe...
0
Whismeril Messages postés 19041 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 mai 2024 912
4 mars 2018 à 00:08
Ben là je n’ai pas office sous la main, j’ai donc essayé sur un site de code en ligne, à part le ElseIf (avec un i majuscule) tout a compilé.
1
didy-star Messages postés 8 Date d'inscription mercredi 23 octobre 2013 Statut Membre Dernière intervention 4 mars 2018
4 mars 2018 à 09:30
Ah c'est bon merci !
Mais quelle horreur ces algorithmes haha
0
Whismeril Messages postés 19041 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 mai 2024 912
4 mars 2018 à 10:22
Alors tu peux marquer le sujet résolu
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#marquer-un-sujet-resolu

Le code peut gagner en rapidité en évitant les calculs inutiles (si tu mets cette fonction sur 1000 ligne ça peut être un gain de temps sensible)

Public Function Commission(CA As Double)

'Fonction qui calcule la commission du représentant selon le barême par tranche

If CA < 2500 Then
    Commission = CA * 0.025
ElseIf CA < 5000 Then
     '2500 * 0.025 c'est une constante, si on mets la valeur de la constante on évite une multiplication
    Commission = 62.5 + (CA - 2500) * 0.05
Else
    'et là 2 multiplications et une addition
    Commission = 187.5+ (CA - 5000) * 0.07
End If

End Function
0
Whismeril Messages postés 19041 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 mai 2024 912
3 mars 2018 à 18:51
Bonjour,
Merci nhenri pour la couleur.
En plus du elseif.
Tu as écrit que pour un ca inférieur à 2500, la commission est de 2500* 25.
Donc le vendeur qui a un ca de 100 a la même somme que celui qui a un ca de 2499, et cette somme est 62 500. C’est une belle commission non?
0
didy-star Messages postés 8 Date d'inscription mercredi 23 octobre 2013 Statut Membre Dernière intervention 4 mars 2018
Modifié le 3 mars 2018 à 22:59
!! Oui en effet, je l'ai changé, mais ça ne résoud pas mon problème de phrase jaune...
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié le 5 mars 2018 à 09:44
bonjour,

avec des IF en cascade , il vaut mieux utiliser Select case

voir


0
Whismeril Messages postés 19041 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 mai 2024 912
5 mars 2018 à 12:07
Bonjour,
Oui c’est vrai quand il y a beaucoup de if. Là il n’y en que 3 et comme elle débute, je ne lui en ai pas parlé
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
5 mars 2018 à 14:28
Bonjour
même à 3 , ça vaut le coup!
remarque au passage: ne confond t elle pas algo et prog ? (pas grave)
0
Whismeril Messages postés 19041 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 mai 2024 912 > michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023
5 mars 2018 à 16:51
Si elle confond
0