Création de fonctions

Tlse31

XLDnaute Nouveau
Salut à tous,

je viens de créer une fonction avec une macro, mais que je la teste sur excel ,ça ne marche pas.
C'est une fonction pour calculer les remise.
Merci me donner un coup de pouce
 

Staple1600

XLDnaute Barbatruc
Re : Création de fonctions

Bonsoir à tous

Tlse31 [Bienvenue sur le forum]
Voici un coup de pouce ... pour inciter le nouveau membre que tu es à prendre le temps de tout lire quand il crée sa première discussion... :rolleyes:
IMPORTANT :
- CHARTE DU FORUM : Lisez Lien supprimé avant votre première intervention.

- ILLUSTREZ VOTRE DEMANDE : Afin de faciliter la compréhension de votre demande il est conseillé de joindre un PETIT fichier qui illustre votre question précise et montre les résultats que vous cherchez à obtenir.
Pour l'envoyer, cliquez sur le trombone ci-dessous ou sur le bouton "Gérer les pièces jointes" dans la zone "Options supplémentaires".Ensuite, cliquez sur le bouton "Parcourir" et sélectionnez-le (après l'avoir compressé s'il dépasse les 250Ko).

- DONNEES CONFIDENTIELLES : Ne laissez AUCUNE donnée personnelle ou confidentielle (noms, adresses, N° de téléphone, entreprises...) dans vos pièces jointes. Vous mettriez Excel-Downloads en contravention avec la loi Informatique et Liberté et votre fichier devrait être enlevé.

Donc à plus tard avec le fichier Excel idoine avec ta fonction remise inside joint ici par tes soins. ;)
 

Staple1600

XLDnaute Barbatruc
Re : Création de fonctions

Re

En renommant ta fonction en CREMISE cela fonctionne
Code:
Function CREMISE(CAHT)
Select Case CAHT
        Case Is <= 100000: CREMISE = 0
        Case Is <= 300000: CREMISE = 0.01 * CAHT
        Case Is <= 500000: CREMISE = 0.02 * CAHT
        Case Is <= 1000000: CREMISE = 0.03 * CAHT
        Case Else: CREMISE = 0.04 * CAHT
    End Select
End Function
(me demande pas pourquoi ;) )

Sinon pourquoi s’embêter avec VBA, quand une formule fait le job
Code:
=B6*INDEX({0;0,01;0,02;0,03;0,04};OU(B6>0;B6<=100000)+(B6>100001)+(B6>300000)+(B6>500000)+(B6>1000000))
Formule que je suppute simplifiable, mais j'ai le neurone atone cet apres-midi ;)

EDITION I
: Il semblerait que ma formule ait comme qui dirait des ratés
Mais bon puisque la fonction VBA fonctionne, je laisse l’erronée survivre ;)

EDITION II : Finalement je poste quand même sa petite sœur (qui semble avoir moins de ratés, non ?)
Code:
=INDEX({0;1;2;3;4};EQUIV(B6/100001;{0;1;3;5;10};1))/100*B6
 
Dernière édition:

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 017
dernier inscrit
annboi19