VBA et formule SI

Fermé
Loic - Modifié par pijaku le 24/07/2014 à 11:51
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 24 juil. 2014 à 11:55
Bonjour,

Je commence à peine à me mettre au VBA et je suis bloqué sur une fonction toute simple.

Je désire que, si:

V3 = "€" alors "W3" = 1
V3 = "$" alors "W3"= 0,75

Ainsi de suite pour chaque cellule en V et W. (Je réussis avec une formule SI mais je désire le faire sous forme VBA)

Je parviens à le faire pour une ligne mais pas pour l'ensemble des lignes du document.

Voila mon code actuel qui fonctionnant pour V3 et W3

Sub Test()
 Dim monnaie As String, taux As Double
 monnaie = Range("V3")
 Select Case monnaie
 Case Is = "€"
 taux = 1
 Case Is = "$"
 taux = 0.7407
 End Select
Range("W3") = taux
End Sub



Merci de votre aide

1 réponse

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
24 juil. 2014 à 11:55
Bonjour,

Ne te manque que la boucle :
de la ligne 3 à 10 :
Sub Test()
Dim Lign As Integer, monnaie As String, taux As Double
For Lign = 3 To 10 '10 est un exemple)
    monnaie = Range("V" & Lign)
    Select Case monnaie
     Case Is = "€"
       taux = 1
     Case Is = "$"
       taux = 0.7407
    End Select
    Range("W" & Lign) = taux
Next Lign
End Sub


Ou alors en allant jusqu'à la dernière ligne de la colonne V :
Sub Test()
Dim DernLigne As Long, Lign As Integer, monnaie As String, taux As Double
DernLigne = Range("V" & Rows.Count).End(xlUp).Row
For Lign = 3 To DernLigne
    monnaie = Range("V" & Lign)
    Select Case monnaie
     Case Is = "€"
       taux = 1
     Case Is = "$"
       taux = 0.7407
    End Select
    Range("W" & Lign) = taux
Next Lign
End Sub
0