Condition repetée et décallée

Bonjour, je voudrais vérifier que s'il ya une heure d'entrée four, elle corresponde bien à l'heure de la dernière sortie; ou à l'heure de fin du dernier arrêt, sinon mettre un message d'alerte

vérifier que s'il y a une heure de début d'arrêt, elle corresponde soit à l'heure de fin de sortie de four, soit à l'heure de fin du dernier arrêt, sinon ==> message alerte

sachant qu'il peut y avoir un repetion de plusieurs arrêts sans qu'il n'y ait de recuit
et une repetion de plusieurs recuit sans qu'il n'y ait d'arrêts.

Merci d'avance de vos réponses, c'est pour mon stage fin d'étude

6 réponses

  1. Bon on va y arriver

    Mais renvoie l'exemple qui a été supprimé OU MIEUX post une xemple de fichier sur cjoint.com et indiques ici ensuite le lien fourni

    Dans l'attente
    0
    1. Merci
      0
      1. Tes formules de validation fonctionnent bien
        Il y a alerte si heure différente de dernière sortie ou de dernier arrêt

        Je ne comprends pas l'histoire des recuits

        Où est le problème ? Donne un exemple précis de cas
        0
    2. "un recuit c'est une opération qui consiste à chauffer de la matière dans un four industriel"
      ceci étant mon problème est le suivant:
      si dans mon fichier j'ai une alternance recuit-arrêt et arrêt-recuit ça fonctionne, mais dès que je passe à recuit-recui-arrêt ou recuit-arrêt-arrêt-arrêt. en gros si j'enchaine plusieurs codes d'arrêts ou plusieurs recuits les conditions ne sont plus vraies, car les cellules sont décallées et la formule ne suit plus..

      j'espère t'avoir éclairé.
      0
      1. Envoie moi un exemple de fichier avec ces 2 cas d'alternance en indiquant dans quelle(s) cellule(s) tu veux l'alerte et où sont les valeurs à prendre en compte, je comprendrais mieux
        Cela n'a pas l'air simple, d'autant que je présume que cela doit se compter PAR produit différent
        0
    3. https://www.cjoint.com/?DFEqlTG3jrC

      ci-joint le lien. j'espère que tu t'y retrouvera

      encore merci.
      0
      1. Dsl je ne vois pas de solution pour l'instant
        Je continue à chercher
        0
      2. Un essai par macro

        Supprimes toutes les conditions de validation et colles cette macro dans le worksheet de la feuille

        Private Sub Worksheet_Change(ByVal Target As Range)

        If Target.Value = "" Then Exit Sub' sortie si rien

        'dès qu'une nouvelle valeur est saisie en colonne 18 ou 23 on la stocke dans la feuille
        If Target.Column = 18 And Target.Value <> "" Then Range("AA1") = Target.Value: Exit Sub
        If Target.Column = 23 And Target.Value <> "" Then Range("AB1") = Target.Value: Exit Sub

        ' si en ligne 5 sortie sans rien faire (pour autoriser écriture n'importe quelle valeur sur 1er ligne du tableau)
        If Target.Row = 5 Then Exit Sub

        ' si en colonne 17 (entrée four) ou 22 (début arrêt)
        If Target.Column = 17 or target column= 22Then

        'si valeur entrée différente de derniere sortie ou dernier arret message d'erreur et efface celule
        If Target.Value <> Range("AA1") And Target.Value <> Range("AB1") Then MsgBox ("Heure non valide" & Chr(10) & Chr(10) & "Dernière sortie : " & CDate(Range("AA1")) & Chr(10) & "Dernier arrêt : " & CDate(Range("AB1"))): Target.Clear
        End If

        End Sub

        Les colonnes AA et AB où sont stockées les dernières heures peuvent être masquées si nécessaire
        0
    4. Via55 merci pour tout le mal que tu t'es donné mais j'aurais préféré seulement avec des formules excel
      0
      1. Malheureusement avec les décalements aléatoires je n'arrive pas à trouver une formule qui en tienne compte mais je continue à y réfléchir; si je trouve quelque chose je te fais signe
        0
      2. Peut être une piste :

        Selectionne la plage Q6:Q100 et entres comme formule personnalisée dans Validation de données :
        =OU(Q6=RECHERCHE(100;R$5:R5);Q6=RECHERCHE(100;W$5:W5))

        La formule recherche 100 de R5 à R ligne précédent celle de la cellule à valider et comme elle ne le trouve pas elle renvoie la dernière valeur trouvée (idem pour W) donc on ne peut rentrer en Q q'une valeur correspondant à la dernière sortie précédente ou au dernier arrêt précédent

        Est-ce que ça pourrait aller ?
        0