Formule recherche V ? Si ?

Bonjour à vous, J'ai un petit renseignement à avoir sur une formule (cf tableau ci joint)

A l'aide des codes inscrits en colonne 3, je cherche à entrer une formule permettant de donner automatiquement le produit en colonne 2. (il y a plus de deux codes différents, la formule si ne fonctionne donc pas)

  • Si le code commence par 2535 : ST dans la colonne B
  • Si le code commence par 532229 : VRS dans la colonne B
  • Si le code contient 2E00 : R dans dans la colonne B

Cela me permettrait un gain de temps non négligeable !

10produit-excel.xlsx (9.62 Ko)

Bon début de semaine à tous !

Bonour,

Si 'jai bien compris ta question, copie cfette formule en B2, puis recopie la sur toute la hauteur voulue.

Ca devrait faire l'affaire.

=SI(C2="";"";SI(GAUCHE(C2;4)="2535";"ST";SI(GAUCHE(C2;6)="532229";"VRS";SI(CHERCHE("2E00";C2)<>0;"R";""))))

Bon cougare

Bonjour à tous,

il n'y a que ces 3 conditions ?

Amicalement

Claude

Merci Fregoli, la formule fonctionne.

Je souhaite cependant m'améliorer sur excel, et je comprends "en partie" la formule".

  • Pourquoi commencer par SI(C2="";""... ?
  • Pourquoi, dans la troisième donnée (CHERCHE("2E00";C2)<>0), rajouter le "différent de 0"
  • Pourquoi terminer par ";""

Je précise la encore que cette formule est exactement ce qu'il me fallait, je cherche juste à comprendre comment tu as fait

Merci à toi donc pour cette aide précieuse.

Claude, il y a plus que 3 conditions, j'ai cependant abréger pour faciliter la rapidité et la compréhension du tableau

Julien

re,

Solution VBA

on peut bien sûr ajouter des conditions

Sub Produit()
Dim Lg%, i%, P$
Lg = Range("c65536").End(xlUp).Row
    For i = 2 To Lg
        Select Case Left(Cells(i, "c"), 4)
            Case Is = "2535": P = "ST"
            Case Is = "2E00": P = "R"
            Case Else: P = ""
        End Select
            If Left(Cells(i, "c"), 6) = "532229" Then P = "VRS"
        Cells(i, "b") = P
    Next i
End Sub

Amicalement

Claude

Bonjour,

T'as raison de poser des questions, c'est comme ça qu'on apprends:

Queqlues explications:

- Pourquoi commencer par SI(C2="";""... ?

Pour résoudre ton problème j'utilise la fonction SI

Afin de ne pas avoir de cas d'erreur, le premier test que je fais est que si la case référence est vide, je laisse vide, sinon ... tout le reste.

C'est juste pour la beauté de la chose.

- Pourquoi, dans la troisième donnée (CHERCHE("2E00";C2)<>0), rajouter le "différent de 0"

et - Pourquoi terminer par ";"" :

Le troisème si: la fonction cherche renvoi soit un indice > 1 soit 0 si elle ne trouve pas la chaine cherchée. Donc dans le cas ou la chaine indiquée en colonne C ne correspond à aucun des 3 critères, j'affiche "" (rien). La syntaxe est si(cond;condoui;condnon) donc le ';""' correspond à condnon = vide

Merci à tous les deux !

Amicalement,

Julien

N'oublie pas la petite formalité

Sorry

Rechercher des sujets similaires à "formule recherche"