Saisie Algorithme en VBA

Résolu
didy-star Messages postés 9 Statut Membre -  
 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.

4 réponses

  1. NHenry Messages postés 15235 Date d'inscription   Statut Modérateur Dernière intervention   387
     
    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
    1. didy-star Messages postés 9 Statut Membre
       
      Le Eiself apparaît en erreur de syntaxe...
      0
  2. 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
    1. didy-star Messages postés 9 Statut Membre
       
      Ah c'est bon merci !
      Mais quelle horreur ces algorithmes haha
      0
    2. 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
  3. 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
    1. didy-star Messages postés 9 Statut Membre
       
      !! Oui en effet, je l'ai changé, mais ça ne résoud pas mon problème de phrase jaune...
      0
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour,

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

    voir


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