Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

simplifier

5 réponses
Avatar
Humanum
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

5 réponses

Avatar
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



Avatar
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



Avatar
Humanum
Impeccable!

Vous m'avez fait réfléchir sur les parenthèses, mais cela ne ma pas fait de
mal ;)

=SI(V8=0;0;SI(ESTNUM(R8);SI(R8>=V8;R8-V8;"Erreur");SI(AUJOURDHUI()>=V8;AUJOURDHUI()-V8;"Erreur")))

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








Avatar
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 ;)

=SI(V8=0;0;SI(ESTNUM(R8);SI(R8>=V8;R8-V8;"Erreur");SI(AUJOURDHUI()>=V8;AUJOURDHUI()-V8;"Erreur")))

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












Avatar
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 ;)

=SI(V8=0;0;SI(ESTNUM(R8);SI(R8>=V8;R8-V8;"Erreur");SI(AUJOURDHUI()>=V8;AUJOURDHUI()-V8;"Erreur")))

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