Formule imbriquée sous VBA

DVBA 10 Messages postés mercredi 14 mars 2018Date d'inscription 25 mai 2018 Dernière intervention - 25 mai 2018 à 11:51 - Dernière réponse : cs_MPi 3869 Messages postés mardi 19 mars 2002Date d'inscription 25 mai 2018 Dernière intervention
- 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 

Votre réponse

2 réponses

Meilleure réponse
cs_MPi 3869 Messages postés mardi 19 mars 2002Date d'inscription 25 mai 2018 Dernière intervention - 25 mai 2018 à 20:35
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

Merci cs_MPi 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 125 internautes ce mois-ci

Commenter la réponse de cs_MPi
DVBA 10 Messages postés mercredi 14 mars 2018Date d'inscription 25 mai 2018 Dernière intervention - 25 mai 2018 à 14:54
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.