Bonjour à tous,
1)Je cherche à simplifier la formule suivante qui est du "bricolage":
=SI(V8=0;0;SI(R8>999999999;AUJOURDHUI()-V8;R8-V8))
R8 est une date de lancement
V8 est une date de fin
L'objectif est de suivre un temps de passage jusqu'à ce que le produit soit
fini. A ce moment le nombre de jour est figé : R8-V8
Tant que R8 n'est pas une date alors AUJOURDHUI()-V8
R8>999999999 est ma belle astuce qui permet de ne déclancher/figer le calcul
lorsque R8 passe en numérique
Cette formule marche bien, mais pour ma culture je suis sur qu'il y a plus
professionnel.
2) Rien empêche mon gestionnaire de saisir une date V8 inférieur à R8 et
j'utilise déjà la validation de R8 sur une liste sans verrou
("urgent","D","P"). J'ai du privilégier la saisie à la sécurité. Une date
négative se voit très vite avec les filtres, cependant cela m'oblige à
contrôler et n'alerte pas le gestionnaire en temps réel.
J'imagine pour ce cas une macro VBA dans le code de la feuille me permettant
à la fois de verrouiller la saisie à une liste et en plus effecturait un
contrôle de coerance avec V8
La ligne 8 est ici un exemple puisque mon tableau (base de donnée) commence
à la ligne 7 pour finir à un maximum de 2500 avant archivage.
Merci d'avance,
Jérôme
PS: Un grand merci aussi à tous les conseils que j'ai pu tirer des questions
des uns des réponses, des autres et leurs de leurs sites
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.C
Bonjour. Tu peux utiliser ESTNUM(R8) ou NON(ESTNUM(R8)) Cordialement. Daniel "Humanum" a écrit dans le message de news:
Bonjour à tous, 1)Je cherche à simplifier la formule suivante qui est du "bricolage": =SI(V8=0;0;SI(R8>999999999;AUJOURDHUI()-V8;R8-V8))
R8 est une date de lancement V8 est une date de fin L'objectif est de suivre un temps de passage jusqu'à ce que le produit soit fini. A ce moment le nombre de jour est figé : R8-V8 Tant que R8 n'est pas une date alors AUJOURDHUI()-V8 R8>999999999 est ma belle astuce qui permet de ne déclancher/figer le calcul lorsque R8 passe en numérique Cette formule marche bien, mais pour ma culture je suis sur qu'il y a plus professionnel.
2) Rien empêche mon gestionnaire de saisir une date V8 inférieur à R8 et j'utilise déjà la validation de R8 sur une liste sans verrou ("urgent","D","P"). J'ai du privilégier la saisie à la sécurité. Une date négative se voit très vite avec les filtres, cependant cela m'oblige à contrôler et n'alerte pas le gestionnaire en temps réel. J'imagine pour ce cas une macro VBA dans le code de la feuille me permettant à la fois de verrouiller la saisie à une liste et en plus effecturait un contrôle de coerance avec V8 La ligne 8 est ici un exemple puisque mon tableau (base de donnée) commence à la ligne 7 pour finir à un maximum de 2500 avant archivage.
Merci d'avance, Jérôme
PS: Un grand merci aussi à tous les conseils que j'ai pu tirer des questions des uns des réponses, des autres et leurs de leurs sites
Bonjour.
Tu peux utiliser ESTNUM(R8) ou NON(ESTNUM(R8))
Cordialement.
Daniel
"Humanum" <nospam-lhomme.jerome@neuf.fr> a écrit dans le message de news:
uaVSplcbIHA.4880@TK2MSFTNGP03.phx.gbl...
Bonjour à tous,
1)Je cherche à simplifier la formule suivante qui est du "bricolage":
=SI(V8=0;0;SI(R8>999999999;AUJOURDHUI()-V8;R8-V8))
R8 est une date de lancement
V8 est une date de fin
L'objectif est de suivre un temps de passage jusqu'à ce que le produit
soit fini. A ce moment le nombre de jour est figé : R8-V8
Tant que R8 n'est pas une date alors AUJOURDHUI()-V8
R8>999999999 est ma belle astuce qui permet de ne déclancher/figer le
calcul lorsque R8 passe en numérique
Cette formule marche bien, mais pour ma culture je suis sur qu'il y a plus
professionnel.
2) Rien empêche mon gestionnaire de saisir une date V8 inférieur à R8 et
j'utilise déjà la validation de R8 sur une liste sans verrou
("urgent","D","P"). J'ai du privilégier la saisie à la sécurité. Une date
négative se voit très vite avec les filtres, cependant cela m'oblige à
contrôler et n'alerte pas le gestionnaire en temps réel.
J'imagine pour ce cas une macro VBA dans le code de la feuille me
permettant à la fois de verrouiller la saisie à une liste et en plus
effecturait un contrôle de coerance avec V8
La ligne 8 est ici un exemple puisque mon tableau (base de donnée)
commence à la ligne 7 pour finir à un maximum de 2500 avant archivage.
Merci d'avance,
Jérôme
PS: Un grand merci aussi à tous les conseils que j'ai pu tirer des
questions des uns des réponses, des autres et leurs de leurs sites
Bonjour. Tu peux utiliser ESTNUM(R8) ou NON(ESTNUM(R8)) Cordialement. Daniel "Humanum" a écrit dans le message de news:
Bonjour à tous, 1)Je cherche à simplifier la formule suivante qui est du "bricolage": =SI(V8=0;0;SI(R8>999999999;AUJOURDHUI()-V8;R8-V8))
R8 est une date de lancement V8 est une date de fin L'objectif est de suivre un temps de passage jusqu'à ce que le produit soit fini. A ce moment le nombre de jour est figé : R8-V8 Tant que R8 n'est pas une date alors AUJOURDHUI()-V8 R8>999999999 est ma belle astuce qui permet de ne déclancher/figer le calcul lorsque R8 passe en numérique Cette formule marche bien, mais pour ma culture je suis sur qu'il y a plus professionnel.
2) Rien empêche mon gestionnaire de saisir une date V8 inférieur à R8 et j'utilise déjà la validation de R8 sur une liste sans verrou ("urgent","D","P"). J'ai du privilégier la saisie à la sécurité. Une date négative se voit très vite avec les filtres, cependant cela m'oblige à contrôler et n'alerte pas le gestionnaire en temps réel. J'imagine pour ce cas une macro VBA dans le code de la feuille me permettant à la fois de verrouiller la saisie à une liste et en plus effecturait un contrôle de coerance avec V8 La ligne 8 est ici un exemple puisque mon tableau (base de donnée) commence à la ligne 7 pour finir à un maximum de 2500 avant archivage.
Merci d'avance, Jérôme
PS: Un grand merci aussi à tous les conseils que j'ai pu tirer des questions des uns des réponses, des autres et leurs de leurs sites
Daniel.C
=SI(V8=0;0;SI(ESTNUM(R8);SI(R8>=V8;R8-V8;"Erreur";SI(AUJOURDHUI()>=V8;AUJOURDHUI()-V8;"Erreur")) Tu peux mettre une mise en forme conditionnelle pour souligner la cellule en erreur. Daniel "Humanum" a écrit dans le message de news:
Bonjour à tous, 1)Je cherche à simplifier la formule suivante qui est du "bricolage": =SI(V8=0;0;SI(R8>999999999;AUJOURDHUI()-V8;R8-V8))
R8 est une date de lancement V8 est une date de fin L'objectif est de suivre un temps de passage jusqu'à ce que le produit soit fini. A ce moment le nombre de jour est figé : R8-V8 Tant que R8 n'est pas une date alors AUJOURDHUI()-V8 R8>999999999 est ma belle astuce qui permet de ne déclancher/figer le calcul lorsque R8 passe en numérique Cette formule marche bien, mais pour ma culture je suis sur qu'il y a plus professionnel.
2) Rien empêche mon gestionnaire de saisir une date V8 inférieur à R8 et j'utilise déjà la validation de R8 sur une liste sans verrou ("urgent","D","P"). J'ai du privilégier la saisie à la sécurité. Une date négative se voit très vite avec les filtres, cependant cela m'oblige à contrôler et n'alerte pas le gestionnaire en temps réel. J'imagine pour ce cas une macro VBA dans le code de la feuille me permettant à la fois de verrouiller la saisie à une liste et en plus effecturait un contrôle de coerance avec V8 La ligne 8 est ici un exemple puisque mon tableau (base de donnée) commence à la ligne 7 pour finir à un maximum de 2500 avant archivage.
Merci d'avance, Jérôme
PS: Un grand merci aussi à tous les conseils que j'ai pu tirer des questions des uns des réponses, des autres et leurs de leurs sites
=SI(V8=0;0;SI(ESTNUM(R8);SI(R8>=V8;R8-V8;"Erreur";SI(AUJOURDHUI()>=V8;AUJOURDHUI()-V8;"Erreur"))
Tu peux mettre une mise en forme conditionnelle pour souligner la cellule en
erreur.
Daniel
"Humanum" <nospam-lhomme.jerome@neuf.fr> a écrit dans le message de news:
uaVSplcbIHA.4880@TK2MSFTNGP03.phx.gbl...
Bonjour à tous,
1)Je cherche à simplifier la formule suivante qui est du "bricolage":
=SI(V8=0;0;SI(R8>999999999;AUJOURDHUI()-V8;R8-V8))
R8 est une date de lancement
V8 est une date de fin
L'objectif est de suivre un temps de passage jusqu'à ce que le produit
soit fini. A ce moment le nombre de jour est figé : R8-V8
Tant que R8 n'est pas une date alors AUJOURDHUI()-V8
R8>999999999 est ma belle astuce qui permet de ne déclancher/figer le
calcul lorsque R8 passe en numérique
Cette formule marche bien, mais pour ma culture je suis sur qu'il y a plus
professionnel.
2) Rien empêche mon gestionnaire de saisir une date V8 inférieur à R8 et
j'utilise déjà la validation de R8 sur une liste sans verrou
("urgent","D","P"). J'ai du privilégier la saisie à la sécurité. Une date
négative se voit très vite avec les filtres, cependant cela m'oblige à
contrôler et n'alerte pas le gestionnaire en temps réel.
J'imagine pour ce cas une macro VBA dans le code de la feuille me
permettant à la fois de verrouiller la saisie à une liste et en plus
effecturait un contrôle de coerance avec V8
La ligne 8 est ici un exemple puisque mon tableau (base de donnée)
commence à la ligne 7 pour finir à un maximum de 2500 avant archivage.
Merci d'avance,
Jérôme
PS: Un grand merci aussi à tous les conseils que j'ai pu tirer des
questions des uns des réponses, des autres et leurs de leurs sites
=SI(V8=0;0;SI(ESTNUM(R8);SI(R8>=V8;R8-V8;"Erreur";SI(AUJOURDHUI()>=V8;AUJOURDHUI()-V8;"Erreur")) Tu peux mettre une mise en forme conditionnelle pour souligner la cellule en erreur. Daniel "Humanum" a écrit dans le message de news:
Bonjour à tous, 1)Je cherche à simplifier la formule suivante qui est du "bricolage": =SI(V8=0;0;SI(R8>999999999;AUJOURDHUI()-V8;R8-V8))
R8 est une date de lancement V8 est une date de fin L'objectif est de suivre un temps de passage jusqu'à ce que le produit soit fini. A ce moment le nombre de jour est figé : R8-V8 Tant que R8 n'est pas une date alors AUJOURDHUI()-V8 R8>999999999 est ma belle astuce qui permet de ne déclancher/figer le calcul lorsque R8 passe en numérique Cette formule marche bien, mais pour ma culture je suis sur qu'il y a plus professionnel.
2) Rien empêche mon gestionnaire de saisir une date V8 inférieur à R8 et j'utilise déjà la validation de R8 sur une liste sans verrou ("urgent","D","P"). J'ai du privilégier la saisie à la sécurité. Une date négative se voit très vite avec les filtres, cependant cela m'oblige à contrôler et n'alerte pas le gestionnaire en temps réel. J'imagine pour ce cas une macro VBA dans le code de la feuille me permettant à la fois de verrouiller la saisie à une liste et en plus effecturait un contrôle de coerance avec V8 La ligne 8 est ici un exemple puisque mon tableau (base de donnée) commence à la ligne 7 pour finir à un maximum de 2500 avant archivage.
Merci d'avance, Jérôme
PS: Un grand merci aussi à tous les conseils que j'ai pu tirer des questions des uns des réponses, des autres et leurs de leurs sites
Humanum
Impeccable!
Vous m'avez fait réfléchir sur les parenthèses, mais cela ne ma pas fait de mal ;)
Pour la mise en forme conditionnelle, je suis déjà au taquet...
Merci
"Daniel.C" a écrit dans le message de news: %23%
=SI(V8=0;0;SI(ESTNUM(R8);SI(R8>=V8;R8-V8;"Erreur";SI(AUJOURDHUI()>=V8;AUJOURDHUI()-V8;"Erreur")) Tu peux mettre une mise en forme conditionnelle pour souligner la cellule en erreur. Daniel "Humanum" a écrit dans le message de news:
Bonjour à tous, 1)Je cherche à simplifier la formule suivante qui est du "bricolage": =SI(V8=0;0;SI(R8>999999999;AUJOURDHUI()-V8;R8-V8))
R8 est une date de lancement V8 est une date de fin L'objectif est de suivre un temps de passage jusqu'à ce que le produit soit fini. A ce moment le nombre de jour est figé : R8-V8 Tant que R8 n'est pas une date alors AUJOURDHUI()-V8 R8>999999999 est ma belle astuce qui permet de ne déclancher/figer le calcul lorsque R8 passe en numérique Cette formule marche bien, mais pour ma culture je suis sur qu'il y a plus professionnel.
2) Rien empêche mon gestionnaire de saisir une date V8 inférieur à R8 et j'utilise déjà la validation de R8 sur une liste sans verrou ("urgent","D","P"). J'ai du privilégier la saisie à la sécurité. Une date négative se voit très vite avec les filtres, cependant cela m'oblige à contrôler et n'alerte pas le gestionnaire en temps réel. J'imagine pour ce cas une macro VBA dans le code de la feuille me permettant à la fois de verrouiller la saisie à une liste et en plus effecturait un contrôle de coerance avec V8 La ligne 8 est ici un exemple puisque mon tableau (base de donnée) commence à la ligne 7 pour finir à un maximum de 2500 avant archivage.
Merci d'avance, Jérôme
PS: Un grand merci aussi à tous les conseils que j'ai pu tirer des questions des uns des réponses, des autres et leurs de leurs sites
Impeccable!
Vous m'avez fait réfléchir sur les parenthèses, mais cela ne ma pas fait de
mal ;)
Pour la mise en forme conditionnelle, je suis déjà au taquet...
Merci
"Daniel.C" <dZZZcolardelle@free.fr> a écrit dans le message de news:
%23%23kXHyjbIHA.5984@TK2MSFTNGP06.phx.gbl...
=SI(V8=0;0;SI(ESTNUM(R8);SI(R8>=V8;R8-V8;"Erreur";SI(AUJOURDHUI()>=V8;AUJOURDHUI()-V8;"Erreur"))
Tu peux mettre une mise en forme conditionnelle pour souligner la cellule
en erreur.
Daniel
"Humanum" <nospam-lhomme.jerome@neuf.fr> a écrit dans le message de news:
uaVSplcbIHA.4880@TK2MSFTNGP03.phx.gbl...
Bonjour à tous,
1)Je cherche à simplifier la formule suivante qui est du "bricolage":
=SI(V8=0;0;SI(R8>999999999;AUJOURDHUI()-V8;R8-V8))
R8 est une date de lancement
V8 est une date de fin
L'objectif est de suivre un temps de passage jusqu'à ce que le produit
soit fini. A ce moment le nombre de jour est figé : R8-V8
Tant que R8 n'est pas une date alors AUJOURDHUI()-V8
R8>999999999 est ma belle astuce qui permet de ne déclancher/figer le
calcul lorsque R8 passe en numérique
Cette formule marche bien, mais pour ma culture je suis sur qu'il y a
plus professionnel.
2) Rien empêche mon gestionnaire de saisir une date V8 inférieur à R8 et
j'utilise déjà la validation de R8 sur une liste sans verrou
("urgent","D","P"). J'ai du privilégier la saisie à la sécurité. Une date
négative se voit très vite avec les filtres, cependant cela m'oblige à
contrôler et n'alerte pas le gestionnaire en temps réel.
J'imagine pour ce cas une macro VBA dans le code de la feuille me
permettant à la fois de verrouiller la saisie à une liste et en plus
effecturait un contrôle de coerance avec V8
La ligne 8 est ici un exemple puisque mon tableau (base de donnée)
commence à la ligne 7 pour finir à un maximum de 2500 avant archivage.
Merci d'avance,
Jérôme
PS: Un grand merci aussi à tous les conseils que j'ai pu tirer des
questions des uns des réponses, des autres et leurs de leurs sites
Pour la mise en forme conditionnelle, je suis déjà au taquet...
Merci
"Daniel.C" a écrit dans le message de news: %23%
=SI(V8=0;0;SI(ESTNUM(R8);SI(R8>=V8;R8-V8;"Erreur";SI(AUJOURDHUI()>=V8;AUJOURDHUI()-V8;"Erreur")) Tu peux mettre une mise en forme conditionnelle pour souligner la cellule en erreur. Daniel "Humanum" a écrit dans le message de news:
Bonjour à tous, 1)Je cherche à simplifier la formule suivante qui est du "bricolage": =SI(V8=0;0;SI(R8>999999999;AUJOURDHUI()-V8;R8-V8))
R8 est une date de lancement V8 est une date de fin L'objectif est de suivre un temps de passage jusqu'à ce que le produit soit fini. A ce moment le nombre de jour est figé : R8-V8 Tant que R8 n'est pas une date alors AUJOURDHUI()-V8 R8>999999999 est ma belle astuce qui permet de ne déclancher/figer le calcul lorsque R8 passe en numérique Cette formule marche bien, mais pour ma culture je suis sur qu'il y a plus professionnel.
2) Rien empêche mon gestionnaire de saisir une date V8 inférieur à R8 et j'utilise déjà la validation de R8 sur une liste sans verrou ("urgent","D","P"). J'ai du privilégier la saisie à la sécurité. Une date négative se voit très vite avec les filtres, cependant cela m'oblige à contrôler et n'alerte pas le gestionnaire en temps réel. J'imagine pour ce cas une macro VBA dans le code de la feuille me permettant à la fois de verrouiller la saisie à une liste et en plus effecturait un contrôle de coerance avec V8 La ligne 8 est ici un exemple puisque mon tableau (base de donnée) commence à la ligne 7 pour finir à un maximum de 2500 avant archivage.
Merci d'avance, Jérôme
PS: Un grand merci aussi à tous les conseils que j'ai pu tirer des questions des uns des réponses, des autres et leurs de leurs sites
Xavier powaga
ma solution
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 18 Then Exit Sub Application.EnableEvents = False If IsError(Application.Match(Target, Application.Range("URGENT"), 0)) Then If IsDate(Target) Then If CDate(Cells(Target.Row, 22)) > CDate(Target) Then MsgBox "la date ne peut être inférieure à la date de programmation" Target = Empty GoTo fin End If Else MsgBox "vous n'avez pas entré une valeur autorisée" Target = Empty End If End If fin: Application.EnableEvents = True End Sub
"Humanum" a écrit dans le message de news: OK%
Impeccable!
Vous m'avez fait réfléchir sur les parenthèses, mais cela ne ma pas fait de mal ;)
Pour la mise en forme conditionnelle, je suis déjà au taquet...
Merci
"Daniel.C" a écrit dans le message de news: %23%
=SI(V8=0;0;SI(ESTNUM(R8);SI(R8>=V8;R8-V8;"Erreur";SI(AUJOURDHUI()>=V8;AUJOURDHUI()-V8;"Erreur")) Tu peux mettre une mise en forme conditionnelle pour souligner la cellule en erreur. Daniel "Humanum" a écrit dans le message de news:
Bonjour à tous, 1)Je cherche à simplifier la formule suivante qui est du "bricolage": =SI(V8=0;0;SI(R8>999999999;AUJOURDHUI()-V8;R8-V8))
R8 est une date de lancement V8 est une date de fin L'objectif est de suivre un temps de passage jusqu'à ce que le produit soit fini. A ce moment le nombre de jour est figé : R8-V8 Tant que R8 n'est pas une date alors AUJOURDHUI()-V8 R8>999999999 est ma belle astuce qui permet de ne déclancher/figer le calcul lorsque R8 passe en numérique Cette formule marche bien, mais pour ma culture je suis sur qu'il y a plus professionnel.
2) Rien empêche mon gestionnaire de saisir une date V8 inférieur à R8 et j'utilise déjà la validation de R8 sur une liste sans verrou ("urgent","D","P"). J'ai du privilégier la saisie à la sécurité. Une date négative se voit très vite avec les filtres, cependant cela m'oblige à contrôler et n'alerte pas le gestionnaire en temps réel. J'imagine pour ce cas une macro VBA dans le code de la feuille me permettant à la fois de verrouiller la saisie à une liste et en plus effecturait un contrôle de coerance avec V8 La ligne 8 est ici un exemple puisque mon tableau (base de donnée) commence à la ligne 7 pour finir à un maximum de 2500 avant archivage.
Merci d'avance, Jérôme
PS: Un grand merci aussi à tous les conseils que j'ai pu tirer des questions des uns des réponses, des autres et leurs de leurs sites
ma solution
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 18 Then Exit Sub
Application.EnableEvents = False
If IsError(Application.Match(Target, Application.Range("URGENT"), 0)) Then
If IsDate(Target) Then
If CDate(Cells(Target.Row, 22)) > CDate(Target) Then
MsgBox "la date ne peut être inférieure à la date de
programmation"
Target = Empty
GoTo fin
End If
Else
MsgBox "vous n'avez pas entré une valeur autorisée"
Target = Empty
End If
End If
fin: Application.EnableEvents = True
End Sub
"Humanum" <nospam-lhomme.jerome@neuf.fr> a écrit dans le message de news:
OK%23CIDpbIHA.4684@TK2MSFTNGP06.phx.gbl...
Impeccable!
Vous m'avez fait réfléchir sur les parenthèses, mais cela ne ma pas fait
de mal ;)
Pour la mise en forme conditionnelle, je suis déjà au taquet...
Merci
"Daniel.C" <dZZZcolardelle@free.fr> a écrit dans le message de news:
%23%23kXHyjbIHA.5984@TK2MSFTNGP06.phx.gbl...
=SI(V8=0;0;SI(ESTNUM(R8);SI(R8>=V8;R8-V8;"Erreur";SI(AUJOURDHUI()>=V8;AUJOURDHUI()-V8;"Erreur"))
Tu peux mettre une mise en forme conditionnelle pour souligner la cellule
en erreur.
Daniel
"Humanum" <nospam-lhomme.jerome@neuf.fr> a écrit dans le message de news:
uaVSplcbIHA.4880@TK2MSFTNGP03.phx.gbl...
Bonjour à tous,
1)Je cherche à simplifier la formule suivante qui est du "bricolage":
=SI(V8=0;0;SI(R8>999999999;AUJOURDHUI()-V8;R8-V8))
R8 est une date de lancement
V8 est une date de fin
L'objectif est de suivre un temps de passage jusqu'à ce que le produit
soit fini. A ce moment le nombre de jour est figé : R8-V8
Tant que R8 n'est pas une date alors AUJOURDHUI()-V8
R8>999999999 est ma belle astuce qui permet de ne déclancher/figer le
calcul lorsque R8 passe en numérique
Cette formule marche bien, mais pour ma culture je suis sur qu'il y a
plus professionnel.
2) Rien empêche mon gestionnaire de saisir une date V8 inférieur à R8 et
j'utilise déjà la validation de R8 sur une liste sans verrou
("urgent","D","P"). J'ai du privilégier la saisie à la sécurité. Une
date négative se voit très vite avec les filtres, cependant cela
m'oblige à contrôler et n'alerte pas le gestionnaire en temps réel.
J'imagine pour ce cas une macro VBA dans le code de la feuille me
permettant à la fois de verrouiller la saisie à une liste et en plus
effecturait un contrôle de coerance avec V8
La ligne 8 est ici un exemple puisque mon tableau (base de donnée)
commence à la ligne 7 pour finir à un maximum de 2500 avant archivage.
Merci d'avance,
Jérôme
PS: Un grand merci aussi à tous les conseils que j'ai pu tirer des
questions des uns des réponses, des autres et leurs de leurs sites
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 18 Then Exit Sub Application.EnableEvents = False If IsError(Application.Match(Target, Application.Range("URGENT"), 0)) Then If IsDate(Target) Then If CDate(Cells(Target.Row, 22)) > CDate(Target) Then MsgBox "la date ne peut être inférieure à la date de programmation" Target = Empty GoTo fin End If Else MsgBox "vous n'avez pas entré une valeur autorisée" Target = Empty End If End If fin: Application.EnableEvents = True End Sub
"Humanum" a écrit dans le message de news: OK%
Impeccable!
Vous m'avez fait réfléchir sur les parenthèses, mais cela ne ma pas fait de mal ;)
Pour la mise en forme conditionnelle, je suis déjà au taquet...
Merci
"Daniel.C" a écrit dans le message de news: %23%
=SI(V8=0;0;SI(ESTNUM(R8);SI(R8>=V8;R8-V8;"Erreur";SI(AUJOURDHUI()>=V8;AUJOURDHUI()-V8;"Erreur")) Tu peux mettre une mise en forme conditionnelle pour souligner la cellule en erreur. Daniel "Humanum" a écrit dans le message de news:
Bonjour à tous, 1)Je cherche à simplifier la formule suivante qui est du "bricolage": =SI(V8=0;0;SI(R8>999999999;AUJOURDHUI()-V8;R8-V8))
R8 est une date de lancement V8 est une date de fin L'objectif est de suivre un temps de passage jusqu'à ce que le produit soit fini. A ce moment le nombre de jour est figé : R8-V8 Tant que R8 n'est pas une date alors AUJOURDHUI()-V8 R8>999999999 est ma belle astuce qui permet de ne déclancher/figer le calcul lorsque R8 passe en numérique Cette formule marche bien, mais pour ma culture je suis sur qu'il y a plus professionnel.
2) Rien empêche mon gestionnaire de saisir une date V8 inférieur à R8 et j'utilise déjà la validation de R8 sur une liste sans verrou ("urgent","D","P"). J'ai du privilégier la saisie à la sécurité. Une date négative se voit très vite avec les filtres, cependant cela m'oblige à contrôler et n'alerte pas le gestionnaire en temps réel. J'imagine pour ce cas une macro VBA dans le code de la feuille me permettant à la fois de verrouiller la saisie à une liste et en plus effecturait un contrôle de coerance avec V8 La ligne 8 est ici un exemple puisque mon tableau (base de donnée) commence à la ligne 7 pour finir à un maximum de 2500 avant archivage.
Merci d'avance, Jérôme
PS: Un grand merci aussi à tous les conseils que j'ai pu tirer des questions des uns des réponses, des autres et leurs de leurs sites
Humanum
Cool, merci xavier! J'ai intégré le code.
Bien sur j'aurai plein d'autre questions, mais avant je vais digérer ces informations.
"Xavier powaga" a écrit dans le message de news: 47b5e9b7$0$19633$
ma solution
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 18 Then Exit Sub Application.EnableEvents = False If IsError(Application.Match(Target, Application.Range("URGENT"), 0)) Then If IsDate(Target) Then If CDate(Cells(Target.Row, 22)) > CDate(Target) Then MsgBox "la date ne peut être inférieure à la date de programmation" Target = Empty GoTo fin End If Else MsgBox "vous n'avez pas entré une valeur autorisée" Target = Empty End If End If fin: Application.EnableEvents = True End Sub
"Humanum" a écrit dans le message de news: OK%
Impeccable!
Vous m'avez fait réfléchir sur les parenthèses, mais cela ne ma pas fait de mal ;)
Pour la mise en forme conditionnelle, je suis déjà au taquet...
Merci
"Daniel.C" a écrit dans le message de news: %23%
=SI(V8=0;0;SI(ESTNUM(R8);SI(R8>=V8;R8-V8;"Erreur";SI(AUJOURDHUI()>=V8;AUJOURDHUI()-V8;"Erreur")) Tu peux mettre une mise en forme conditionnelle pour souligner la cellule en erreur. Daniel "Humanum" a écrit dans le message de news:
Bonjour à tous, 1)Je cherche à simplifier la formule suivante qui est du "bricolage": =SI(V8=0;0;SI(R8>999999999;AUJOURDHUI()-V8;R8-V8))
R8 est une date de lancement V8 est une date de fin L'objectif est de suivre un temps de passage jusqu'à ce que le produit soit fini. A ce moment le nombre de jour est figé : R8-V8 Tant que R8 n'est pas une date alors AUJOURDHUI()-V8 R8>999999999 est ma belle astuce qui permet de ne déclancher/figer le calcul lorsque R8 passe en numérique Cette formule marche bien, mais pour ma culture je suis sur qu'il y a plus professionnel.
2) Rien empêche mon gestionnaire de saisir une date V8 inférieur à R8 et j'utilise déjà la validation de R8 sur une liste sans verrou ("urgent","D","P"). J'ai du privilégier la saisie à la sécurité. Une date négative se voit très vite avec les filtres, cependant cela m'oblige à contrôler et n'alerte pas le gestionnaire en temps réel. J'imagine pour ce cas une macro VBA dans le code de la feuille me permettant à la fois de verrouiller la saisie à une liste et en plus effecturait un contrôle de coerance avec V8 La ligne 8 est ici un exemple puisque mon tableau (base de donnée) commence à la ligne 7 pour finir à un maximum de 2500 avant archivage.
Merci d'avance, Jérôme
PS: Un grand merci aussi à tous les conseils que j'ai pu tirer des questions des uns des réponses, des autres et leurs de leurs sites
Cool, merci xavier!
J'ai intégré le code.
Bien sur j'aurai plein d'autre questions, mais avant je vais digérer ces
informations.
"Xavier powaga" <Xavierpowaga@free.fr> a écrit dans le message de news:
47b5e9b7$0$19633$426a74cc@news.free.fr...
ma solution
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 18 Then Exit Sub
Application.EnableEvents = False
If IsError(Application.Match(Target, Application.Range("URGENT"), 0)) Then
If IsDate(Target) Then
If CDate(Cells(Target.Row, 22)) > CDate(Target) Then
MsgBox "la date ne peut être inférieure à la date de
programmation"
Target = Empty
GoTo fin
End If
Else
MsgBox "vous n'avez pas entré une valeur autorisée"
Target = Empty
End If
End If
fin: Application.EnableEvents = True
End Sub
"Humanum" <nospam-lhomme.jerome@neuf.fr> a écrit dans le message de news:
OK%23CIDpbIHA.4684@TK2MSFTNGP06.phx.gbl...
Impeccable!
Vous m'avez fait réfléchir sur les parenthèses, mais cela ne ma pas fait
de mal ;)
Pour la mise en forme conditionnelle, je suis déjà au taquet...
Merci
"Daniel.C" <dZZZcolardelle@free.fr> a écrit dans le message de news:
%23%23kXHyjbIHA.5984@TK2MSFTNGP06.phx.gbl...
=SI(V8=0;0;SI(ESTNUM(R8);SI(R8>=V8;R8-V8;"Erreur";SI(AUJOURDHUI()>=V8;AUJOURDHUI()-V8;"Erreur"))
Tu peux mettre une mise en forme conditionnelle pour souligner la
cellule en erreur.
Daniel
"Humanum" <nospam-lhomme.jerome@neuf.fr> a écrit dans le message de
news: uaVSplcbIHA.4880@TK2MSFTNGP03.phx.gbl...
Bonjour à tous,
1)Je cherche à simplifier la formule suivante qui est du "bricolage":
=SI(V8=0;0;SI(R8>999999999;AUJOURDHUI()-V8;R8-V8))
R8 est une date de lancement
V8 est une date de fin
L'objectif est de suivre un temps de passage jusqu'à ce que le produit
soit fini. A ce moment le nombre de jour est figé : R8-V8
Tant que R8 n'est pas une date alors AUJOURDHUI()-V8
R8>999999999 est ma belle astuce qui permet de ne déclancher/figer le
calcul lorsque R8 passe en numérique
Cette formule marche bien, mais pour ma culture je suis sur qu'il y a
plus professionnel.
2) Rien empêche mon gestionnaire de saisir une date V8 inférieur à R8
et j'utilise déjà la validation de R8 sur une liste sans verrou
("urgent","D","P"). J'ai du privilégier la saisie à la sécurité. Une
date négative se voit très vite avec les filtres, cependant cela
m'oblige à contrôler et n'alerte pas le gestionnaire en temps réel.
J'imagine pour ce cas une macro VBA dans le code de la feuille me
permettant à la fois de verrouiller la saisie à une liste et en plus
effecturait un contrôle de coerance avec V8
La ligne 8 est ici un exemple puisque mon tableau (base de donnée)
commence à la ligne 7 pour finir à un maximum de 2500 avant archivage.
Merci d'avance,
Jérôme
PS: Un grand merci aussi à tous les conseils que j'ai pu tirer des
questions des uns des réponses, des autres et leurs de leurs sites
Bien sur j'aurai plein d'autre questions, mais avant je vais digérer ces informations.
"Xavier powaga" a écrit dans le message de news: 47b5e9b7$0$19633$
ma solution
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 18 Then Exit Sub Application.EnableEvents = False If IsError(Application.Match(Target, Application.Range("URGENT"), 0)) Then If IsDate(Target) Then If CDate(Cells(Target.Row, 22)) > CDate(Target) Then MsgBox "la date ne peut être inférieure à la date de programmation" Target = Empty GoTo fin End If Else MsgBox "vous n'avez pas entré une valeur autorisée" Target = Empty End If End If fin: Application.EnableEvents = True End Sub
"Humanum" a écrit dans le message de news: OK%
Impeccable!
Vous m'avez fait réfléchir sur les parenthèses, mais cela ne ma pas fait de mal ;)
Pour la mise en forme conditionnelle, je suis déjà au taquet...
Merci
"Daniel.C" a écrit dans le message de news: %23%
=SI(V8=0;0;SI(ESTNUM(R8);SI(R8>=V8;R8-V8;"Erreur";SI(AUJOURDHUI()>=V8;AUJOURDHUI()-V8;"Erreur")) Tu peux mettre une mise en forme conditionnelle pour souligner la cellule en erreur. Daniel "Humanum" a écrit dans le message de news:
Bonjour à tous, 1)Je cherche à simplifier la formule suivante qui est du "bricolage": =SI(V8=0;0;SI(R8>999999999;AUJOURDHUI()-V8;R8-V8))
R8 est une date de lancement V8 est une date de fin L'objectif est de suivre un temps de passage jusqu'à ce que le produit soit fini. A ce moment le nombre de jour est figé : R8-V8 Tant que R8 n'est pas une date alors AUJOURDHUI()-V8 R8>999999999 est ma belle astuce qui permet de ne déclancher/figer le calcul lorsque R8 passe en numérique Cette formule marche bien, mais pour ma culture je suis sur qu'il y a plus professionnel.
2) Rien empêche mon gestionnaire de saisir une date V8 inférieur à R8 et j'utilise déjà la validation de R8 sur une liste sans verrou ("urgent","D","P"). J'ai du privilégier la saisie à la sécurité. Une date négative se voit très vite avec les filtres, cependant cela m'oblige à contrôler et n'alerte pas le gestionnaire en temps réel. J'imagine pour ce cas une macro VBA dans le code de la feuille me permettant à la fois de verrouiller la saisie à une liste et en plus effecturait un contrôle de coerance avec V8 La ligne 8 est ici un exemple puisque mon tableau (base de donnée) commence à la ligne 7 pour finir à un maximum de 2500 avant archivage.
Merci d'avance, Jérôme
PS: Un grand merci aussi à tous les conseils que j'ai pu tirer des questions des uns des réponses, des autres et leurs de leurs sites