Condition repetée et décallée

franckbm86 Messages postés 26 Statut Membre -  
via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   -
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. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
  2. franckbm86 Messages postés 26 Statut Membre
     
    Merci
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      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
  3. franckbm86 Messages postés 26 Statut Membre
     
    "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. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      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
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. franckbm86 Messages postés 26 Statut Membre
     
    https://www.cjoint.com/?DFEqlTG3jrC

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

    encore merci.
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Dsl je ne vois pas de solution pour l'instant
      Je continue à chercher
      0
    2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      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
  6. franckbm86 Messages postés 26 Statut Membre
     
    Via55 merci pour tout le mal que tu t'es donné mais j'aurais préféré seulement avec des formules excel
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      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. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      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