Saisie Algorithme en VBA

Résolu
didy-star Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
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.
A voir également:

4 réponses

NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
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   Statut Membre Dernière intervention  
 
Le Eiself apparaît en erreur de syntaxe...
0
Utilisateur anonyme
 
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   Statut Membre Dernière intervention  
 
Ah c'est bon merci !
Mais quelle horreur ces algorithmes haha
0
Utilisateur anonyme
 
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
Utilisateur anonyme
 
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   Statut Membre Dernière intervention  
 
!! 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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
bonjour,

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

voir


0
Utilisateur anonyme
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour
même à 3 , ça vaut le coup!
remarque au passage: ne confond t elle pas algo et prog ? (pas grave)
0
Utilisateur anonyme > michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention  
 
Si elle confond
0