Condition repetée et décallée
franckbm86
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
via55 Messages postés 14512 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
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
A voir également:
- Condition repetée et décallée
- Excel cellule couleur si condition texte - Guide
- Condition et excel - Guide
- Excel soustraction avec condition ✓ - Forum Excel
- Excel champ calculé avec condition - Forum Excel
- Nbval avec condition - Forum Excel
6 réponses
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
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
"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é.
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é.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
https://www.cjoint.com/?DFEqlTG3jrC
ci-joint le lien. j'espère que tu t'y retrouvera
encore merci.
ci-joint le lien. j'espère que tu t'y retrouvera
encore merci.
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
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
Via55 merci pour tout le mal que tu t'es donné mais j'aurais préféré seulement avec des formules excel
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 ?
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 ?