Formule imbriquée sous VBA

Messages postés
10
Date d'inscription
mercredi 14 mars 2018
Statut
Membre
Dernière intervention
25 mai 2018
- - Dernière réponse : cs_MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
- 25 mai 2018 à 20:35
Bonjour à tous,

J'ai un soucis de syntaxe avec des formules imbriquées sous VBA,

IfNa
If Range("F25").Value = "J" Then
Vlookup (Range("B25"),Base_M.O,2,False)*Range("G25"),(Vlookup(Range("B25"),Base_M.O,4,FALSE))*Range("G25")),Range("H25").Value)
End With

Si quelqu'un peut m'aider à trouver la bonne syntaxe svp ?

Cordialement,
DVBA
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
15
1
Merci
Bonjour,

Pas sûr de bien comprendre ce que tu veux faire dans SelectionChange() ???
La macro va être appelée à chaque fois que tu cliques une cellule, n'importe laquelle...

Peut-être ceci?
    If Range("F25") = "J" Then
Range("H25") = Application.WorksheetFunction.VLookup( _
Worksheets("Fiche_REX_P").Range("B25"), _
Worksheets("Base_M.O").Range("B:B"), 1, False)
Else
Range("H25") = Application.WorksheetFunction.VLookup( _
Worksheets("Fiche_REX_P").Range("B25"), _
Worksheets("Base_M.O").Range("D:D"), 1, False)
End If

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 188 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_MPi
Messages postés
10
Date d'inscription
mercredi 14 mars 2018
Statut
Membre
Dernière intervention
25 mai 2018
0
Merci
Je reviens pour apporter plus de précisions, j'aimerai traduire la formule qui suit en VBA :

=SI.NON.DISP(SI(F25 ="J";(RECHERCHEV(B25;Base_M.O;2;FAUX)*G25);(RECHERCHEV(B25;Base_M.O;4;FAUX))*G25*D25);H25)

J'ai écris :
Private Sub Test_SelectionChange(ByVal Target As Range)
IfNa
If Range("F25").Value = "J" Then
VLookup Worksheets("Fiche_REX_P").Range("B25"), Worksheets("Base_M.O"), Columns("B:B").Select, False
Else
VLookup Worksheets("Fiche_REX_P").Range("B25"), Worksheets("Base_M.O"), Columns("D:D").Select, False
End If
Worksheets("Fiche_REX_P").Range("H25").Value
End With
End Sub

Mais cela ne fonctionne pas, quelqu'un saurait quoi changer dans mon code svp?

Cordialement,
DVBA
Commenter la réponse de DVBA