Calculs sur une macro

Saphyam Messages postés 6 Statut Membre -  
Saphyam Messages postés 6 Statut Membre -
Bonjour,

Je souhaiterai faire le calcul suivant :

Le calcul doit se faire sous la colonne AB

Si le client de la colonne A = "michel" alors montant de la colonne X multiplié par 0.0833
THEN, Si le client de la colonne A = "Jean" alors montant de la colonne X multiplié par 0.0816...


Je vous joins le fichier : https://www.cjoint.com/c/IAspm3gsg4S

j'ai saisi les données suivantes dans ma macro mais le calcul ne se fait qu'avec la première variable.

Sub Calcul_FEE_ETB()

Dim x As String
Dim a, b, c, d, e, f, g, h, i As String
Dim Cellule As Range, zone As Range, Derl
Dim zone2 As Range, Cellule2 As Range
Workbooks("Macros_BI.xlsm").Activate
Sheets("ETB").Select

a = 0.0833
b = 0.0816
c = 0.0811
d = 0.0816
e = 0.0851
f = 0.0833
g = 0.0851
h = 0.0833
i = 0.0833

Derl = Range("A" & Rows.Count).End(xlUp).Row
Set zone = Range("AB2:AB" & Derl)
Set zone2 = Range("A2:A" & Derl)
Application.ScreenUpdating = False

For Each Cellule In zone

For Each Cellule2 In zone2

If Cellule2 = "60365510" Then
Cellule = Cellule.Offset(0, -4) * x

ElseIf Cellule2 = "60353996" Then
Cellule = Cellule.Offset(0, -4) * a

ElseIf Cellule2 = "60354843" Then
Cellule = Cellule.Offset(0, -4) * b

ElseIf Cellule2 = "60355810" Then
Cellule = Cellule.Offset(0, -4) * c

ElseIf Cellule2 = "60357675" Then
Cellule = Cellule.Offset(0, -4) * d

ElseIf Cellule2 = "60357765" Then
Cellule = Cellule.Offset(0, -4) * e

ElseIf Cellule2 = "60357833" Then
Cellule = Cellule.Offset(0, -4) * f

ElseIf Cellule2 = "60357956" Then
Cellule = Cellule.Offset(0, -4) * g

ElseIf Cellule2 = "60358023" Then
Cellule = Cellule.Offset(0, -4) * h

ElseIf Cellule2 = "60359558" Then
Cellule = Cellule.Offset(0, -4) * i

ElseIf Cellule2 = "60359561" Then
Cellule = Cellule.Offset(0, -4) * j

ElseIf Cellule2 = "60359563" Then
Cellule = Cellule.Offset(0, -4) * k

Else
Cellule = Cellule.Offset(0, -4) * i

End If

Next
Next

Application.ScreenUpdating = True

End Sub

Merci pour votre aide,

Cdt,
Saphyam
A voir également:

1 réponse

jean-dimitri
 
Bonjour je vous recommande d'utiliser la fonction inputbox pour résoudre votre problème.
en espérant vous avoir aidé.

J'ai pour ma part réussi à faire tourner un jeu de dés à 2 dés avec des réponses aléatoires. superbe expérience pour jouer aux petits chevaux avec mes filles.
0
Saphyam Messages postés 6 Statut Membre
 
Merci, je teste ça.

Bien à vous,
0