Excel VBA IF avec 2 conditions

Leghe59 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -  
danielc0 Messages postés 2179 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

débutant en VBA, je cherche, dans une macro, à faire une promotion si 2 conditions sont réunies :

En colonne B le "statut" du produit, en colonne L le fournisseur :

If (OExport.Range("B" & li).Value = "Arrêt de commercialisation" And OExport.Range("L" & li).Value <> "DEPOT -*") Or OExport.Range("B" & li).Value = "Changement de distributeur" Then

Donc si le statut du produit est "Arrêt de commercialisation" ET que le nom du fournisseur ne commence pas par "DEPOT -", ou que le statut du produit est "Changement de distributeur" Alors le produit passe en promo.

Mais la 1ère partie ne fonctionne pas, le produit passe en promo même si le nom du fournisseur commence par DEPOT -

Où ai-je fait une erreur ?

Merci !

2 réponses

  1. Leghe59 Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
     
    lifin = OExport.Range("A" & Rows.Count).End(xlUp).Row
    For li = lifin To 2 Step -1
        If (OExport.Range("B" & li).Value = "Arrêt de commercialisation" And OExport.Range("L" & li).Value <> "DEPOT -*") Or OExport.Range("B" & li).Value = "Changement de distributeur" Then
        Rows(li & ":" & li).Select
        Application.CutCopyMode = False
        Selection.Copy
        Selection.Insert Shift:=xlDown
        Range("A" & li + 1) = Range("B" & li + 1) & "-O"
        Range("E" & li + 1) = "1"
        Range("J" & li + 1) = "Déstockage ! Jamais ouvert - Envoi le jour-même depuis Lille - France"
        Range("R" & li + 1) = ""
        End If
    Next li
    lifin2 = OVente.Range("A" & Rows.Count).End(xlUp).Row
    For li = lifin2 To 2 Step -1
        If OVente.Range("A" & li).Value Like "*-O" Then
        Range("D" & li) = (Range("D" & li - 1) / 2)
        End If
    0
    1. danielc0 Messages postés 2179 Date d'inscription   Statut Membre Dernière intervention   287
       

      Bonjour,

      Tu as trois conditions, pas deux. Quelles sont les trois valeurs testées ?

      Daniel

      0