Excel VBA IF avec 2 conditions
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
-
Bonjour,
Avec le fichier partiel se serait plus profitable..
Le mettre sur SwissTransfer - Envoi sécurisé et gratuit de gros fichiers
-
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