Macro VBA - pour lancer un calcul apres IF

Bonjour à tous!

J'aurais besoin de votre aide aujourd'hui pour cette fonction.

Sur un rang que je defini , je souhaite lancer un calcul apres avoir remplie la condition (IF).

est ce que c'est faisable.

Mon code est le suivant :

Sub test()

Dim cell As Range

Dim total As Integer

Worksheets("tarif_officiel").Activate

For Each cell In Range("A8:A22").Cells

If cell.Value = "0.064" Then

total = 2 * C8 + D8 + E8

End If

Next

End Sub

Merci par avance

Bonjour, Test de décodage.... un fichier exemple serait plus utile on n'est même pas sur du total =2* C8 + D8 + E8 ( il n'y a que c8 qui est multplié par 2 ou la somme des trois ) en plus si vous écrivez vous même le numéro de ligne alors quand votre boucle arrivera à A9 elle fera le même calcul avec C8 D8 E8 ce qui je pense n'est pas ce que vous souhaitez ?

test avec 2* ( C8 + D8 + E 8 ) si calcul pas bon alors enlevez parenthese aprés le 2* et àla fin de la ligne

Sub test()

Dim cell As Range
'Dim total As Integer   NON SI CALCUL AVEC CHIFFRE A VIRGULE
Dim total As single

Worksheets("tarif_officiel").Activate

'For Each cell In Range("A8:A22").Cells ON VA PLUTOT UTILISER UNE VARIABLE i CAR VOUS SEMLBEZ EN AVOIR BESOIN ENSUITE DANS LE CALCUL.
'If cell.Value = "0.064" Then  NON UN NOMBRE NE S'ECRIT PAS ENTRE GUILLEMETS SINON C'EST DU TEXTE

For i=8 to 22

If Range("A" &i).value=0.064 Then

'On va aller mettre le total dans la colonne F ( lettre à changer si colonne déjà occupée )
Range("F" &i).value=2 *(Range("C" &i).value + Range("D" &i).value +Range("E" &i).value)

'total = 2 * C8 + D8 + E8 çà c'est du chinois et ne sert pas car vous n'utiliser pas la variable total ensuite 

End If

Next

End Sub

Merci pour votre réponse , votre solution marche et aussi j'ai pu trouver une autre solution même si ce n'est pas top mais ça fait l'affaire pour l'instant .
je suis vraiment débutant en VBA , Merci pour les commentaires ça aide beaucoup pour comprendre ce qu'il faut mettre et ce qu'il ne faut pas.

Sub test()
Dim rng As Range, cell As Range
Worksheets("tarif_officiel").Activate
Set rng = Range("A8:A22")
For Each cell In rng
If cell.Value = 0.064 Then
ActiveCell.Formula = "=((2*C8+J8)+K8*238)/1000"
End If
Next
End Sub

J'avais effectivement pas tout compris Vous souhaitiez remplacer la valeur trouvée par une formule. ... lol mon décodage n'était vraiment pas bon.

Par contre votre formule utilise donc la même ligne à chaque fois ? Même si la valeur trouvée est en A9 ?

Rechercher des sujets similaires à "macro vba lancer calcul"