Création Macro - VBA

Bonjour ,

Je veux créer une macro simple pour faire quelques calculs en utilisant la boucle If .......then

Je m'y connais rien en tout ce qui est VBA , j'ai essayé de la faire mais j'y arrivais pas

Pourriez vous m'aider ?

Merci

bonsoir,

pour t'aider, une description de ce que tu veux faire, quel est le résultat souhaité, quelles sont les données nécessaires à produire le résultat et quelle traitement appliquer à ces données pour obtenir le résultat. Si tu peux tout çà dans un fichier excel.

ce que j'ai, comment je le transforme, ce que je voudrais avoir.

Bonsoir ,

Tout d'abord , je tiens à vous remercier de m'avoir répondu. C'est vraiment gentil de votre part .

Je vous envoie le fichier excel contenant la base de données ainsi que les résultats souhaités .

Ce que je voudrais avoir comme résultats est le suivant :

En fonction de chaque type de " ApportPrinc " j'aurai le nombre de contrats et le volume associé.

Le volume se calcule de cette façon ;

Calc_Volume pour chaque ligne

Volume : c'est la somme par ligne

Je reste à votre disposition si jamais vous aurez d'autres questions à me poser .

Merci Merci

7table.xlsm (30.57 Ko)

rebonsoir,

une solution avec un TCD (Tableau croisé dynamique ou PivotTable)

10table.xlsm (30.89 Ko)

Re bonsoir ,

Je vous remercie pour la solution que vous aviez proposée. C'est trop gentil de votre part .

Je voulais savoir si cette solution marche si je changera de base données, l'idée de faire une macro c'était dans le but d’automatiser

la même action de calcule .

Si je prends d'autres données de même nature que celles dans le fichier excel, est ce que , sans rien changer , le calcule se fera sans aucun problème ??

Merci de votre compréhension

Bonsoir,

il faudra resélectionner les données du TCD. en cliquant sur le TCD, puis en choisissant changer la source des données dans le menu options.

Bonjour,

Sur la base du fichier de h2so4, les données source du TCD ont été mises sous forme de tableau dynamique et le TCD est actualisé automatiquement à l'activation de sa feuille (procédure événementielle).

Pour de prochains calculs, tu devras faire attention aux valeurs textes (non numériques) dans tes données.

Cdlt.

4table.xlsm (26.35 Ko)

Bonjour ,

Tout d'abord , je te remercie de m'avoir apporté de l'aide sur ce que je voulais avoir comme résultats .

J'ai pas compris quand tu m'as dit , il faut faire attention aux valeurs textes dans mes données ?

Les variables sont fixes , ce qui va changer dans ma base de données sont les valeurs attribuées à chaque variable sur lesquels on

effectue les calculs .

Il n y aura pas d'autres variables à intégrer .

L'idée de reproduire les mêmes résultats mais avec d'autres données similaires à celles du fichier de base .

Est ce que tu penses que le TCD est suffisant pour reproduire les même résultats , en changeant la plage de données , mais les

variables sont fixes , et il n y a pas d'autres valeurs textes en ce qui concerne la variable ( Type_Contrat )

Merci de votre compréhension

Cordialement ,

Bonjour h2so4 ,

Désolé de te déranger encore encore une fois , Je voulais te demander pourquoi , dans le tableau , on voit pas les résultats du calcul de

la variable calcul volume , les cellules sont vides , on a juste le type de ApportPrinc et le nombre de contrat ?

Merci

Cordialement ,

Bonjour,

Une nouvelle proposition avec une fonction personnalisée VBA :

Attention aux valeurs de la colonne "Montant_Prime_Unique".

Cdlt.

6table.xlsm (30.61 Ko)
Public Function Calc_Volume(Type_contrat As String, _
                            Montant_Prime_Periodique As Double, _
                            Fractionnement As Long, _
                            Montant_Prime_Unique As Double) As Double

    Select Case Type_contrat
        Case "Retraite Generali"
            Calc_Volume = (Montant_Prime_Periodique * Fractionnement + Montant_Prime_Unique) / 4
        Case " ATOLL ", " ACTIVE PLENITUDE", "EDIFICE_PLUS53"
            Calc_Volume = Montant_Prime_Periodique * Fractionnement + Montant_Prime_Unique
        Case "PU_TRANSFERT R_2013 "
            Calc_Volume = (Montant_Prime_Periodique * Fractionnement + Montant_Prime_Unique) / 10
        Case " EDIFICE_MOINS53"
            Calc_Volume = (Montant_Prime_Periodique * Fractionnement + Montant_Prime_Unique) / 2
        Case Else
            Calc_Volume = 0
    End Select

End Function
6calcvolume.xlsm (25.21 Ko)
6calcvolume.xlsm (25.21 Ko)

Re Bonjour ,

Je voudrais avoir un tableau de résultats en fonction du type de la variable " ApportPrinc " ; le nombre de contrats associés à ce

dernier et la somme du volume .

Pour chaque ligne de notre base données , la variable " volume " se calcule de la façon suivante :

si "Type_Contrat"= "Retraite Generali" alors Volume = ((Montant_Prime_Periodique * Fractionnement) + Montant_Prime_Unique) / 4

si "Type_Contrat" = " ACTIVE PLENITUDE" alors Volume = ((Montant_Prime_Periodique * Fractionnement) + Montant_Prime_Unique)

si "Type_Contrat" = "PU_TRANSFERT R_2013 "alors Volume = ((Montant_Prime_Periodique * Fractionnement) + Montant_Prime_Unique) / 10

si "Type_Contrat" = " ATOLL " alors Volume = ((Montant_Prime_Periodique * Fractionnement) + Montant_Prime_Unique)

si "Type_Contrat" =" EDIFICE_MOINS53" alors Volume =((Montant_Prime_Periodique * Fractionnement) + Montant_Prime_Unique) / 2

si "Type_Contrat" = "EDIFICE_PLUS53 " alors Volume = ((Montant_Prime_Periodique * Fractionnement) + Montant_Prime_Unique)

Pour les autres types de contrats, le volume = 0

L'idée est d'afficher la somme de volume en fonction du type " ApportPrinc " ( il y en a 11 )

Merci

Cordialement ,


Re Bonjour ,

Merci encore une fois de m'avoir répondu et de m'apporter votre aide ,

dans le fichier que vous m'avez envoyé , il y a un instant , je ne vois pas la base de donnée , L'objectif est de reproduire les mêmes

calculs avec d'autres données mais la structure du fichier reste la même, mêmes variables, même emplacement de chaque variable,

Les mêmes types de variables textes existantes ,

Je sais pas si vous comprenez ce que je voulais vous dire et ce que je souhaiterais avoir comme résultat .

Je vous en remercie .

C'est gentil de votre part

Cordialement ,

Re,

Je ne comprends rien à ce que tu écris.

Pour ma part, je pense avoir répondu à la question posée.

Je renvoie cependant le fichier, après analyse.

Cdlt.

7table.xlsm (30.40 Ko)

Re Bonjour ,

Ta solution est bonne , elle permet d'afficher les résultats souhaités,

Juste le souci c'est quand je change la source de données et j'actualise , la colonne "Calc_Volume" ne s'affiche pas dans le tableau

des résultats ( Pivot Table) .

Y a t il une manipulation à faire pour que la colonne Calc_Volume Soit visible ?

Merci

Cordialement ,

Re,

Que signifie "changer les données sources" ?

Cdlt.

Re Bonjour ,

Je venais de le tester et ça marche .

Je vous envoie le fichier que j'ai finalisé parce que je souhaiterais ne pas afficher les deux lignes ( Vide ) et ( 0 ) qui font parti de

l'étiquettes Ligne ( ApportPrinc ) , Vous ouvrez le fichier et vous aller dans l'onglet Pivot Table , Vous comprendrez ce qui m'embête.

Merci de votre aide et je suis vraiment désolé de vous avoir dérangé

Cordialement ,

Re,

Voir cette nouvelle proposition et me redire.

Cdlt.

Rechercher des sujets similaires à "creation macro vba"