Formule imbriquée sous VBA

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

Votre réponse

2 réponses

Meilleure réponse
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Dernière intervention
23 août 2018
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

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CodeS-SourceS

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de cs_MPi
Messages postés
10
Date d'inscription
mercredi 14 mars 2018
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

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.