afficher une valeur dans une cellule si..

klorane

XLDnaute Occasionnel
bonjour à tous,

je recherche à afficher dans une cellule une valeur si une autre cellule contient une valeur précise.

exemple: dans la cellule A1 imaginons que les valeurs suivantes apparaissent 1 ensuite4,55,72,130,200 etc...

j'aimerai que dans la cellule C3 s'affiche 500 quand la valeur de la cellule A1=55.

quelle macro faut il utiliser pour ça?

Merci pour votre aide.

Sylvain
 

BenHarber

XLDnaute Occasionnel
Bonjour Sylvain, le Forum,

Je te propose une macro évènementielle attachée à la feuille sur laquelle tu travailes, dont la base serait :

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim znSaisie As Range
Set znSaisie = [A1]
If Not Application.Intersect(znSaisie, Range(Target.Address)) Is Nothing Then
If Range(Target.Address).Value = 55 Then [C3] = 500 Else [C3] = ''
End If
End Sub

Tchaô

BenHarber
 

Gael

XLDnaute Barbatruc
Bonjour Sylvain, bonjour Benharber,

Deux autres solutions en formules:

* S'il n'y a pas beaucoup de chiffres et si cela concerne peu de cellules:

=CHOISIR(EQUIV(A1;{1;4;55;72;130;200};0);100;200;500;600;700;800)

EQUIV(A1;{1;4;55;72;130;200};0) va rechercher la valeur de A1 dans la matrice de constantes et retourne un index de 1 à 6.

Choisir renvoie la valeur correspondant à l'index (de 100 à 800) soit par exemple 500 si A1=55

* S'il y a beaucoup de valeurs ou plusieurs cellules concernées, il vaut mieux créer un tableau avec les valeurs de A1 et les valeurs correspondantes ex:

De F1à F9 (4, 55, 72...)
De G1 à G9 (100,200...)

Et en C3, la formule: =INDEX(G4:G9;EQUIV(A1;F4:F9;0))

qui renverra la valeur correspondante à la valeur de A1.

Les plages peuvent être nommées pour simplifier les formules et être définies comme variables si des valeurs sont fréquemment ajoutées ou supprimées.

@+

Gael
 

Discussions similaires

Réponses
3
Affichages
265

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 379
Messages
2 087 767
Membres
103 662
dernier inscrit
rterterert