Message d'erreur en fonction de cases remplies ou non
Greeegoryyy
-
Greeegoryyy -
Bonjour,
J'ai un petit problème concernant le code suivant :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim rep As Integer Dim Lig As Long
Lig = 4 ' Première ligne à vérifier
Do While Not IsEmpty(Range("A" & Lig))
If (Worksheets("Feuil1").Cells(Lig, 37).Value <> "0") Or (Worksheets("Feuil1").Cells(Lig, 37).Value <> "4") Then SaveAsUI = False Cancel = True rep = (MsgBox("Vous ne pouvez pas sauvegarder si une des cases n'est pas remplieaa !")) ElseIf (Worksheets("Feuil1").Cells(Lig, 36).Value <> "0") Or (Worksheets("Feuil1").Cells(Lig, 36).Value <> "4") Then SaveAsUI = False Cancel = True rep = (MsgBox("Vous ne pouvez pas sauvegarder si une des cases n'est pas rempliezz !")) ElseIf (Worksheets("Feuil1").Cells(Lig, 35).Value <> "0") Or (Worksheets("Feuil1").Cells(Lig, 35).Value <> "4") Then SaveAsUI = False Cancel = True rep = (MsgBox("Vous ne pouvez pas sauvegarder si une des cases n'est pas remplieee !")) ElseIf (Worksheets("Feuil1").Cells(Lig, 34).Value <> "0") Or (Worksheets("Feuil1").Cells(Lig, 34).Value <> "21") Then SaveAsUI = False Cancel = True rep = (MsgBox("Vous ne pouvez pas sauvegarder si une des cases n'est pas rempliess !")) Else SaveAsUI = True Cancel = False End If
Lig = Lig + 1
Loop
End Sub
Je ne comprend pas car, peut importe si la cellule vérifiée de la première condition vaut 4 ou 0, il suit le then et me renvoie le premier messagebox, au lieu de, comme prévu, passer au elseif.
Merci d'avance pour vos réponse, cordialement.
A voir également:
Message d'erreur en fonction de cases remplies ou non
Non je n'obtiendrais pas le résultat attendu, puisque ça passerait au elseif si les deux conditions sont réunies, et pas si au moins une des deux est présente.
Je suis en train d'essayer avec les And, je crois bien que ça fonctionne... Je continue mes tests, si ça fonctionne je te remercie beaucoup de tes réponses jordane45 !