Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

[Résolu] Aide pour écrire une fonction en vba


Messages recommandés

Posté(e)

Bonsoir à tous,

 

Je souhaiterais calculer le salaire brut d'une enveloppe salaire. Cette enveloppe salaire est donc égale au salaire brut + charges patronales comme ceci :

 

enveloppe = salaire brut + charges patronales.

 

J'ai donc tiré les équations qui varient en fonction du montant de l'enveloppe. En effet, si le salaire brut est inférieur au plafond de la sécurité sociale ( 32184 € ) c'est un type d'équation; si ce salaire est supérieur, c'est un autre type.

 

Donc voici les équations :

 

1°) Salaire < 32184

 

Salaire brut = (x - 450.322) / 1.3732

 

2°) Salaire > 32184 et < 35666

 

Salaire brut = (x - 5020.45) / 1.24492

 

 

3°) Salaire > 32184 et < 128736

 

Salaire brut = (x - 514.944) / 1.35756

 

 

4°) Salaire > 128736

 

Salaire brut = (x + 15705.792) / 1.48356

 

 

J'ai du mal déja à rentrer le paramètre de la fonction qui me semble en l'espèce être le salaire.

 

Soit : Function CalculBrut ( Salaire as integer)

 

Ensuite, je me demande si je dois déclarer des variables , si oui lesquelles car là je ne vois pas.

 

Enfin, je dois surement faire des tests conditionnelles :

 

If Salaire < 32184 Then

Salaire = ( .... je ne sais pas quelle variable utiliser !!!!!!

 

Voilà si l'on peut me donner la main ce serait très sympa.

 

Merci d'avance et bonne soirée

  • Modérateurs
Posté(e)

Bonjour Rimbaut,

 

Je comprends ton désir d'aller plus loin dans EXCEL que la notion de formule, et de tester la programmation VB. Mais j'ai l'impression que, cette fois encore, ton problème serait résolu très simplement par une formule.

 

Dans ta formulation, je suis un peu perdu entre enveloppe, salaire, salaire brut et charges patronales. Je vais me limiter aux formules mathématiques elles-mêmes, et supposer que,

A1 = salaire

A2 = x

A3 = salaire brut résultant.

 

On va doter cette dernière cellule A3 de la formule suivante :

 

SI(A1<32184;(A2-450.322)/1.3732;
SI(A1<35666;(A2-5020.45)/1.24492;
SI(A1<128736;(A2-514.944)/1.35756;
 (A2+15705.792)/1.48356)))

Bien entendu, il faut tout écrire à la suite sur une seule ligne. Je n'ai effectué les sauts à la ligne que pour clarifier la démarche : chacune de mes lignes correspond à chacune de tes formules successives :P

 

Nota : je suis surpris par la 4ème formule mathématique, qui ne semble pas exactement de la même forme que les trois autres. En es-tu certain ?

Posté(e)

Oui, mais le taux est nettement supérieur. J'ai déjà rentré ces conditions mais en fait où celà achope est quand l'enveloppe ( salaire brut + charges patronales ) est supérieur à la tranche A, par exemple, et le salaire brut, une fois calculé est inférieur à cette tranche.

Je prends un exemple, soit une enveloppe salariale de 38000 €; celle ci est donc supérieur à la tranche A qui est de 31284 €. Si l'on effectue l'équation, ex: (38000 - 514.944) / 1.35756 = 27612 et c'est donc la 1er équation qu'il faut utiliser et non la 3e.

C'est célà que je n'arrive pas à maitriser et je pensais qu'en élaborant une fonction vba que je personnaliserai je m'en tirerai mieux.

Mais je ne sais pas du tout si mon raisonnement est valable ?

  • Modérateurs
Posté(e)

Je vois. En fait, si mes souvenirs de paie ne sont pas encore trop brumeux, les taux de certaines cotisations patronales ne sont pas les mêmes en tranches A et B (en particulier, certaines ne portent que sur la tranche A, d'autres seulement sur la tranche B). Mais, quoi qu'il en soit, la "courbe" représentant les cotisations patronales en fonction du brut est continue et croissante.

 

Et les bornes que tu dois mettre en oeuvre dans ta formule ne sont pas celles du brut, mais celles de l'enveloppe (coût patronal "complet").

 

Il te reste donc à calculer l'enveloppe exacte pour un brut égal au plafond A, puis celle pour un plafond B. En revanche, je ne comprends pas ta borne intermédiaire de 35.666 ? A moins qu'il n s'agisse de la limite de la classification "agent de maîtrise" ?

 

Une fois ces trois bornes de l'enveloppe calculées et glissées dans la formule (à la place des plafonds de tranches), tu ne devrais plus avoir de souci :P

Posté(e)

35 666 € correspond au salaire charnière à partir duquel l'on calcule la retraite sur le Tr B. Au dessous de ce salaire, on cotise sur une base forfaiataire qui est égale, en pratique, à 3482 * 0.126 = 438.732

Bonne soirée dylav et merci pour ton aide

  • Modérateurs
Posté(e)

Le problème semble avoir trouvé sa solution.

Ainsi, afin de signaler clairement à ceux qui ont un problème similaire qu'ils ont peut-être une solution toute trouvée (s'ils pensent à utiliser la fonction Recherche en indiquant le mot-clé "résolu" auparavant), et afin de signaler aux autres contributeurs qu'il est inutile de continuer à se creuser la tête sur le problème (à moins d'avoir des suppléments d'informations à apporter pour mieux comprendre ce qui posait problème), un modérateur a préfixé le titre du topic avec la mention [résolu].

Merci, à l'avenir, de bien vouloir prendre à votre charge cette mise à jour quand vous estimez que votre problème a été résolu de manière satisfaisante (et parallèlement, si le problème a disparu "mystérieusement", inutile d'induire les gens en erreur :P) Pour cela, p_edit.gif votre premier message :P

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...