Fonction If a deux conditions

M4I3E

XLDnaute Nouveau
Bonjour a tous,
Alors voila, j’ai un petit souci VBA.

Je suis débutant, donc j’ai repris un code d’une ancienne base de donnée pour l’approprier à mes besoins.

Je souhaite faire une fonction à « deux conditions » : (si la première condition est vraie alors passer a la deuxième condition et si celle-ci est également vrai alors appliquer la fonction qui est une modification de champs).

Dans mon cas, voici la fonction que je souhaite avoir :
A l’ouverture de la fonction « ComesToEnd », aller chercher dans la DataBase « CalibrationDataBase » la colonne « Status ». Pour chaque ligne, si la valeur de la colonne « Status » est égale a « In Use » ou « Comes To End » et que la valeur de la colonne « CalibrationDueDate » est supérieure a la date d’aujourd’hui, alors modifier le « Status » pour « Expired ».
Voici le code utilisé :

Code:
Sub Expired()

On Error Resume Next
Dim d As DAO.Database
  Dim r As Recordset
   Dim Status As Field, CalibrationDueDate As Field
   Set d = CurrentDb()
   Set r = CurrentDb.OpenRecordset("CalibrationDataBase")
   Set Status = r.Fields("Status")
   Set CalibrationDueDate = r.Fields("CalibrationDueDate")


Do Until r.EOF
If r!Status = "In Use" Or "Comes To End" Then
If DateDiff("d", Date, CalibrationDueDate) < 0 Then
      
      r.Edit
      
      r!Status = "Expired"
                 
      r.Update


End If
End If

      r.MoveNext
Loop
   r.Close


End Sub


Et le résultat que j’obtiens est qu’il ne prend pas en compte la première condition : La fonction prend en compte toutes les valeurs de « Status » alors qu’il ne devrait prendre en compte que les status « In Use » et « Comes To End ».

Voila si vous avez la solution cela me rendrai un énorme service car je me casse les dents depuis pas mal de temps…
Merci par avance pour votre aide.
 

Discussions similaires

Réponses
13
Affichages
433
Réponses
5
Affichages
421

Membres actuellement en ligne

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 104
dernier inscrit
JEMADA