Macro evenement

Bonjour à tous,

Je me permet de faire appelle à votre aide, car après avoir parcouru plusieurs forums, lu différents tuto présent sur ce site je rencontre quelques problèmes sur mon projet excel.

Vous trouverez en pièce jointe le fichier excel.

Je souhaiterai réaliser une macro me permettant de calculer de 3 façons différentes des dépenses entre 2 personnes (ici George et Léa).

  • Soit la dépense est commune et calculer de façon équitable (type de répartition « Equité ») ainsi la dépense sera répartie entre George et Léa suivant la part de leur salaire dans le foyer.
  • Soit la dépense est commune et calculer de façon égal (type de répartition « Egalité ») ainsi la dépense sera divisée par deux entre George et Léa.
  • Soit la dépense est personnelle (type de répartition « Perso ») et elle est égal à la dépense de George + la dépense de Léa.

L’idée est que je puisse insérer une ligne de dépenses et que je renseigne dans chaque colonne suivante :

  • « Dépense » : l’intitulé de la dépense ;
  • « Type de répartition dépenses » : Choix du calcul de répartition de la dépense soit en « Equité », « Egalité » ou « Perso » suivant une liste déroulante ;
  • « Total » : renseigne le montant de la dépense si on est dans un cas de répartition « Equité » et « Egalité » ou bien calcul de la somme total dépense de George + dépense de Léa dans le cas d’un type de répartition « Perso » ;
  • « Dépense George » : renseigne le montant de dépense de george dans le cas d’une dépense perso ou la part de dépense commune qu’il prend en compte dans le cas d’un type de répartition « Equité » ou « Egalité ».
  • « Dépense Léa » : renseigne le montant de dépense de george dans le cas d’une dépense perso ou la part de dépense commune qu’il prend en compte dans le cas d’un type de répartition « Equité » ou « Egalité ».

Etat d’avancement : à l’heure actuelle j’ai pu rédiger une macro me permettant de calculer les montants suivant les types de répartition de dépenses choisi. Cependant pour que le calcul se fasse il faut que je clique sur un bouton (mis en place sur l’Excel) permettant à chaque fois d’appeler la macro.

Ci-joint la macro :

Sub Calcul_Depenses()

Dim i As Integer

i = 11

For i = 3 To 8

If Cells(i, 3) = "Perso" Then

Cells(i, 4) = Cells(i, 5).Value + Cells(i, 6).Value

Else

If Cells(i, 3) = "Equité" Then

Cells(i, 5) = Cells(i, 4) * (Range("I3") / Range("K3"))

Cells(i, 6) = Cells(i, 4) * (Range("J3") / Range("K3"))

Else

If Cells(i, 3) = "Egalité" Then

Cells(i, 5) = Cells(i, 4) / 2

Cells(i, 6) = Cells(i, 4) / 2

Else

Cells(i, 3) = ""

End If

End If

End If

Next

End Sub

Problèmes soulevés :

  • Je souhaiterai que la macro s’exécute à chaque fois que je change le type de répartition ainsi que le montant de dépense (« total » dans le cas d’une répartition « Equité » ou « Egalité » ou de George et de Léa dans le cas d’une répartition « Perso ». J’ai essayé de passer par une macro évènementielle mais cela ne fonctionne pas).
  • Je souhaiterai lorsque je change un type de répartition « Perso » en un type de répartition « Equité » ou « Egalité » que les valeurs dans les cellules s’effacent et inversement.
  • Je souhaiterai lorsque je change un type de répartition « Egalité » en type de répartition « Equité », que le calcul s’effectue automatiquement.

En espérant avoir été claire dans mes explications, je remercie par avance tous ceux qui pourront m’éclairer à résoudre ces problèmes.

Bonjour Tipiere et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum

En ce qui concerne votre problématique, pourquoi vouloir utiliser VBA

Merci de votre participation

Cordialement

Bonjour BrunoM45

Présentation faites :) !

J'ai également lu la charte forum.

Je voudrais utiliser le VBA car suivant différents cas de calcul ("Perso", Egalité" Equité"), il faudrait qu'au sein d'une même cellule je puisse soit entrer une donnée soit avoir un resultat qui s'affiche. Je ne sais pas si je suis claire :/.

Bonjour à tous,

Y'aurait-il une personne susceptible de m'apporter son aide sur mon sujet ? :)

Je vous remercie par avance.

Bonsoir,

une proposition avec l'utilisation de la surveillance événementiel sur la valeur de la colonne D "équité; égalité; perso".
Comme vous pourrez le voir j'ai modifié l'ordre des colonnes :
Type de dépense, puis le montant, puis le type de partage (en colonne D) ce qui lance la surveillance événementiel "Change" sur la colonne D, ici en fonction du choix le code va faire des répartitions automatiques (équité et égalité) ou bien vous laissera entrer les valeurs "perso" si c'est le choix de la colonne D.
En cas de choix "vide" alors tous les montants sont effacés.

Une colonne de contrôle permet de valider les données entrées manuellement.

Le fichier :

@ bientôt

LouReeD

Bonjour LouReeD,

Merci beaucoup de ton retour et de ton aide !

Ta solution me convient très bien. Seul petit bémol pour le type de partage "perso", lorsque je rentre mes valeurs je n'ai pas la sommation dans "total dépenses".

A bientôt.

Tipiere

Bonjour,

Je suis parti du fait qu'on connaissait la somme dépensée et qu'après on ventile entre les deux compères soit équité soit égale et soit perso et pour ce dernier chacun sait ce qu'il a mit, il y a juste une info pour vérifier que c'est bien equivalent au total dépensé.

Sinon je suis sur tel... Donc ce soir si vraiment il faut une modif, mais elle est simple il suffit de mettre une formule type R1C1 dans la cellule : Target.OffSet(,-1).FormulaR1C1= "=Sum(RC[2],RC[3])"

@ bientôt

LouReeD

Bonsoir,

le fichier :

@ bientôt

LouReeD

Bonjour LouReeD,

Merci beaucoup pour ton aide !

à bientot !

Bonsoir,

merci pour vos remerciements !

@ bientôt

LouReeD

Rechercher des sujets similaires à "macro evenement"