Condition repetée et décallée

Fermé
franckbm86 Messages postés 23 Date d'inscription mercredi 4 juin 2014 Statut Membre Dernière intervention 17 juillet 2014 - 30 juin 2014 à 15:01
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 - 1 juil. 2014 à 14:00
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

via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 2 738
30 juin 2014 à 15:03
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
franckbm86 Messages postés 23 Date d'inscription mercredi 4 juin 2014 Statut Membre Dernière intervention 17 juillet 2014
30 juin 2014 à 15:19
https://www.cjoint.com/?DFEprhM9Bcx


via55 CI_joint le lien
0
franckbm86 Messages postés 23 Date d'inscription mercredi 4 juin 2014 Statut Membre Dernière intervention 17 juillet 2014
30 juin 2014 à 15:19
Merci
0
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 2 738
30 juin 2014 à 15:42
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
franckbm86 Messages postés 23 Date d'inscription mercredi 4 juin 2014 Statut Membre Dernière intervention 17 juillet 2014
30 juin 2014 à 15:52
"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
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 2 738
30 juin 2014 à 15:59
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
franckbm86 Messages postés 23 Date d'inscription mercredi 4 juin 2014 Statut Membre Dernière intervention 17 juillet 2014
30 juin 2014 à 16:12
https://www.cjoint.com/?DFEqlTG3jrC


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

encore merci.
0
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 2 738
30 juin 2014 à 17:35
Dsl je ne vois pas de solution pour l'instant
Je continue à chercher
0
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 2 738
30 juin 2014 à 19:10
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
franckbm86 Messages postés 23 Date d'inscription mercredi 4 juin 2014 Statut Membre Dernière intervention 17 juillet 2014
1 juil. 2014 à 13:17
Via55 merci pour tout le mal que tu t'es donné mais j'aurais préféré seulement avec des formules excel
0
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 2 738
1 juil. 2014 à 13:31
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
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 2 738
1 juil. 2014 à 14:00
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