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:

Qu'est ce qui ne va pas dans mon code


rimbaut

Messages recommandés

Bonjour à tous,

Je m'essaye à vba et je voudrais construire une procédure et au sein de celle ci plusieurs fonctions qui me permettent de calculer le montant des charges sociales que je veux coller sur une plage de cellules. J'ai tapé le code suivant mais je ne sais pas où il achoppe

 

Function CalculPatr(AssurVieilPlaf)

Const TauxEmpl = 0.083

Dim Remuneration

Remuneration = Range("Feuil1!A1").Value

 

 

Select Case AssurVieilPlaf

Case 0 To 32184: CalculPatr = AssurVieilPlaf * TauxEmpl

Case Is >= 32185: CalculPatr = 32184

End Select

 

End Function

 

Sub OptimiRem()

Dim Compteur As Single

Dim Val As Integer

 

Val = Range("Feui1!A1").Value 'je prends la cellule A1 de la feuille 1 pour la mettre dans la variable

 

For Compteur = 1 To 21 Step 0.05

Function CalculPatr(Val)

 

Range("Feuil1!B2:b23").Copy ' je range les valeurs issues du calcul dans la plage de cellules

Next

 

End Sub

 

Si quelqu'un peut me venir en aide je l'en remercie

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

il me semble que lorsqu'on fait appel à une fonction, on n'écrit pas Function devant, de plus une fonction renvoie quelque chose, comme une fonction en maths. Donc, perso je verrai bien un truc du genre :

Workbooks("TonFichier.xls").Worksheets("Feuil1").Cells ( compteur + 1, 2)=CalculPatr(Val)

[Edit]Pour assigner une valeur à Val, je te conseille d'utiliser la même idée que ci dessus car ton code bugue sinon[/Edit]

 

Mais j'ai absolument pas testé..., je sais pas si ça peut marcher avec l'option STEP que j'ai jamais utilisé en VBA. Parce que si le compteur se déplace de 0,05 en 0,05 je pense que mon idée est caduque.

[Edit] En effet si tu veux chaque pas de 0,05 il faut intégrer un compteur supplémentaire[/Edit]

PS: sinon, y'a un truc que je comprend pas dans ta fonction, j'ai l'impression qu'elle calcule toujours la même chose puisque Val ne change pas dans la boucle...

[Edit]en l'éxécutant, j'ai eu le même résultat chaque fois[/Edit]

Modifié par Ayoros
Lien vers le commentaire
Partager sur d’autres sites

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...