Si condition et ou

Bonjour, je cherche une formule pour me faciliter la vie!

Si A1=1 ou 2 ou 3 et A2=bleu ou blanc ou rouge alors A3= 10€

Merci pour votre aide

Bonsoir yo33333,

en A3 : =SI(ET(ET(A1>0;A1<4);OU(A2="bleu";A2="blanc";A2="rouge"));10;"")

mets pour A3 un format de nombre Monétaire (avec 0 décimales), et tu auras : 10 €


mais si tu n'as pas besoin de faire de calcul dessus :

en A3 : =SI(ET(ET(A1>0;A1<4);OU(A2="bleu";A2="blanc";A2="rouge"));"10 €";"")

note bien que cette fois, c'est le texte "10 €" et non pas le nombre 10.

dans ce 2ème cas, tu peux laisser le format Standard.

dhany

Bonsoir le forum,

=SI(A1>3;"";SI(OU(A2="bleu";A2="blanc";A2="rouge");10;""))
si

@yo33333

tu peux relire mon post précédent, car je l'ai modifié.

sauf si tu as autre chose à demander, merci de passer le sujet en résolu : clique sur à droite de (coin haut droit du post); ça permet aussi de clôturer le fil de la discussion (toi seul peut le faire, car c'est toi qui a créé ce sujet).

dhany

Re,

Ou :

=SI(A1>3;"";SI(SOMMEPROD(--(A2={"Bleu"."Blanc"."Rouge"}));10;""))

Bonsoir,

Merci pour votre réactivité, je ne pensais pas avoir un retour si rapide.

Du coup je vais aller plus loin:

Si A1=chat ou chien ou lapin et A2=blanc ou rouge ou bleu alors A3=10 sinon 0 , Si A1=voiture ou moto ou vélo et A2=vert ou jaune ou noir alors A3=20 sinon 0 , ...et ainsi de suite

Merci beaucoup pour votre aide

Yoh

Bonsoir Yoh,

8exo-yo33333.xlsm (14.47 Ko)

* saisis 2 données en A1 et A2 ; résultat en A3

* fais plusieurs essais

tu peux compléter les listes en colonnes C et D

dhany

C'est exactement ça, excellent!!

Mais comment intégrer la formule dans mon fichier et comment modifier les valeurs de résultat?

tu a écrit :

comment intégrer la formule dans mon fichier ?

la formule est simple : =SI(OU(A1="";A2="");"";GetCode(A1;A2))

il faut la placer là ou tu veux voir le résultat, en adaptant pour A1 et A2


tu a écrit :

comment modifier les valeurs de résultat ?

ça dépend de quelle façon tu veux les modifier ; il faut en dire plus.


le mieux est de joindre un fichier qui soit représentatif.

dhany

pour joindre ton classeur (sans données confidentielles), tu peux utiliser le bouton « Ajouter des fichiers » qui est situé juste sous la fenêtre d'édition de ton post.

dhany

nouvelle version de mon fichier précédent :

5exo-yo33333.xlsm (15.68 Ko)

en E3, change 20,00 en par exemple 34,50.

dhany

J'ai fait un tri!

Voici le fichier, l'explication est en case C2, est'il possible de simplifier la formule en D2?

8formule-si.xlsx (173.78 Ko)

je te laisse essayer ce fichier :

11exo-yo33333.xlsm (35.24 Ko)

dhany

Merci beaucoup, c'est ce qu'il me fallait

Très bonne soirée

Yoh

merci pour ton retour !

bonne continuation !

dhany

Bonjour dhany,

Je n'arrive pas à copier coller la feuille de la base des données et la formule sur un autre fichier, j'ai un message d'erreur: NOM?

Merci

Yoh

Bonjour Yoh,

tu a écrit :

j'ai un message d'erreur : #NOM?

ça signifie que la fonction personnalisée PrixGarantie() n'est pas reconnue ; il faut :

* que le fichier soit un .xlsm (avec prise en charge des macros) ; ou un fichier .xls (fichier Excel < 2007)

* placer le code VBA de la fonction dans Module1 ; il faut aussi : Option Compare Text

Option Explicit: Option Compare Text

Function PrixGarantie(produit$, marque$) As Currency
  Dim T1, T2, n&, lig&, f As Byte, i%
  With Worksheets("Garantie")
    n = .Cells(Rows.Count, 1).End(xlUp).Row
    If n = 1 Then Exit Function
    T1 = .Range("A1:C" & n)
    For lig = 2 To n
      T2 = Split(T1(lig, 1), ", "): f = 0
      For i = 0 To UBound(T2)
        If T2(i) = produit Then f = 1: Exit For
      Next i
      If f = 1 Then
        T2 = Split(T1(lig, 2), ", ")
        For i = 0 To UBound(T2)
          If T2(i) = marque Then f = 2: Exit For
        Next i
      End If
      If f = 2 Then PrixGarantie = T1(lig, 3)
    Next lig
  End With
End Function

dhany

Merci il va me falloir un peu de temps pour comprendre mais ça va le faire!

Très bonne soirée

Yoh

Rechercher des sujets similaires à "condition"