Changement de valeur d'une cellule en fonction d'une autre SAUF...
xanagaz
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
xanagaz Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
xanagaz Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je vais essayer d'expliciter mon cas, qui concerne un planning, en le simplifiant :
On considère que chaque personne peut être amenée à faire soit :
- 1 vacation du matin
- 1 vacation de journée
- 1 vacation de nuit
En fonction des heures données (dans 4 cellules juxtaposées), j'arrive à déterminer quelle type de vacation la personne fait et à partir de là je peux tester toutes les règles légales.
De même, j'arrive à déterminer la raison de l'absence en fonction d'un autre classeur.
L'application de la vacation "absence" s'applique si une case à cocher est validée.
Mon but est celui ci : lorsque la coche "absence" est décochée, je veux appliquer la dernière "vacation" qui était entrée.
J'ai essayé la fonction Sheets.Change, mais ce n'était pas assez réactif et très vite le planning s'est pris les pieds dans le tapis.
Donc je cherche une solution du type
"CellA=CellB SAUF SI CellB=absent THEN CellA ne change pas"
Tout est dans le "SAUF[...]ne change pas". J'espère que l'un de vous connaitra la fonction inconnue des novices, perdue même des archives des développeurs de Microsoft !
Je reste ouvert à d'autres idées mais la politique de sécurité de mon entreprise n'est pas coopérative avec les macros VBA...
Un grand merci d'avance !
Je vais essayer d'expliciter mon cas, qui concerne un planning, en le simplifiant :
On considère que chaque personne peut être amenée à faire soit :
- 1 vacation du matin
- 1 vacation de journée
- 1 vacation de nuit
En fonction des heures données (dans 4 cellules juxtaposées), j'arrive à déterminer quelle type de vacation la personne fait et à partir de là je peux tester toutes les règles légales.
De même, j'arrive à déterminer la raison de l'absence en fonction d'un autre classeur.
L'application de la vacation "absence" s'applique si une case à cocher est validée.
Mon but est celui ci : lorsque la coche "absence" est décochée, je veux appliquer la dernière "vacation" qui était entrée.
J'ai essayé la fonction Sheets.Change, mais ce n'était pas assez réactif et très vite le planning s'est pris les pieds dans le tapis.
Donc je cherche une solution du type
"CellA=CellB SAUF SI CellB=absent THEN CellA ne change pas"
Tout est dans le "SAUF[...]ne change pas". J'espère que l'un de vous connaitra la fonction inconnue des novices, perdue même des archives des développeurs de Microsoft !
Je reste ouvert à d'autres idées mais la politique de sécurité de mon entreprise n'est pas coopérative avec les macros VBA...
Un grand merci d'avance !
Configuration: Windows / Firefox 74.0
A voir également:
- Changement de valeur d'une cellule en fonction d'une autre SAUF...
- Fonction si et - Guide
- Changer de dns - Guide
- Diviser une cellule excel en deux horizontalement ✓ - Forum Excel
- Comment colorer une cellule excel en fonction du contenu d'une autre cellule - Forum Excel
- Aller à la ligne dans une cellule excel - Guide
2 réponses
Merci François,
C'est effectivement la version de base, mais ce que je souhaite c'est qu'à la place de m'afficher une cellule vide, A1 garde la dernière valeur valide. j'avais essayé ça au début :
En A :
=SI(B1="ABSENT";A1;B1)
Et ça fonctionnait plutôt bien si on fait abstraction du popup signalant la cellule référencée à elle même...
EDIT : J'ai trouvé une solution je pense, en utilisant des nombres :
A1=(SI(OU(B1=4;B1=5);A1;B1)
Avec les chiffres de 1 à 3 correspondant à mes différentes vacations et 4 à 5 mes 2 types d'absences, je n'ai plus le popup.
Je veux bien ton (ou un) avis avant de mettre "résolu".
A+, Frédéric.
C'est effectivement la version de base, mais ce que je souhaite c'est qu'à la place de m'afficher une cellule vide, A1 garde la dernière valeur valide. j'avais essayé ça au début :
En A :
=SI(B1="ABSENT";A1;B1)
Et ça fonctionnait plutôt bien si on fait abstraction du popup signalant la cellule référencée à elle même...
EDIT : J'ai trouvé une solution je pense, en utilisant des nombres :
A1=(SI(OU(B1=4;B1=5);A1;B1)
Avec les chiffres de 1 à 3 correspondant à mes différentes vacations et 4 à 5 mes 2 types d'absences, je n'ai plus le popup.
Je veux bien ton (ou un) avis avant de mettre "résolu".
A+, Frédéric.