Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Index / Equiv + Une condition en VBA

11 réponses
Avatar
géjoun
Bonjour,

Je cherche à créer cette formule en VBA

=INDEX($U$30:$U$38;EQUIV(C9;$S$30:$S$38;0))

pour pouvoir l'incrémenter sur d'autres lignes en dessous, et de façon à ce
que je puisse quand même rentrer une autre valeur dans la cellule si la
valeur de C9 ne renvoie rien dans la plage $S$30:$S$38.

Ex : la formule en VBA recherche si elle trouve la valeur à renvoyer par
rapport à C9; et si la valeur rentrée en C9 ne renvoie rien, rien ne se
passe, mais je peux quand même rentrer dans la cellule une autre valeur.

J'ai essayé de voir ce que donnait cette formule avec l'enregistreur de
macro, je croyais me retrouver avec un code du style
INDEX(range("$U$30:$U$38");MATCH(C9;range("$S$30:$S$38");0)) ; mais ce que
j'obtiens n'a rien à voir, et je suis un peu perdu.

Quelqu'un peut-il m'aider?

Merci!

--
géjoun
dam-mail2006@ifrance.com
/Enlever l''année pour m''écrire.../

1 réponse

1 2
Avatar
géjoun
JB nous expliquait:

http://cjoint.com/?fhn1pl4ia7

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 3 And Target.Count = 1 Then
Application.EnableEvents = False
x = Application.Index([U30:U38], Application.Match(Target,
[S30:S38], 0))
Cells(Target.Row, 14) = IIf(IsError(x), Empty, x)
Application.EnableEvents = True
End If
End Sub

JB



Re,

Là, cette fois-ci, c'est parfait! :-)
Merci beaucoup!

--
géjoun

/Enlever l'année pour répondre.../

1 2