Insérer et figer date en fonction de condition

Bonjour Svp j'ai besoin de votre aide pour l'automatisation d'une tâche sous google sheet :

j'ai une colonne K nommé "STATUT" dans laquelle figure des états de machine (En panne, En Att. PDR, En réparation, Disponible, Fonctionnelle, Réformé), ces états s'actualisent automatiquement par une importation à partir d'une autre feuille renseigner par l'utilisateur et je souhaite afficher dans la colonne L la date et l'heure de passage d'une cellule contenant précédemment Fonctionnelle à En panne pour une même ligne K1, L1 et que cela se fasse tout seul au fil du temps après avoir trouvé le moyen.

Pour résumé la date s'affiche que pour les états (En panne, En Att. PDR, En réparation)

S'il est possible de le faire avec une fonction montrer la moi ou par du code Script svp...

Voici le lien vers le sujet.

https://docs.google.com/spreadsheets/d/11rnIBA3Q7DkjjYpu-TMQM_cbbtYbG03Am80ixLLqyA8/edit#gid=0

Très cordialement.

Bonjour,

peux-tu donner l'accès, a minima en lecture ?

image

l'autre feuille renseignée par l'utilisateur est-elle sur le même fichier ?

Bonsoir

tu peux accéder en éditeur.

l'autre feuille renseignée par l'utilisateur est-elle sur le même fichier : non la fonction rechercheV rapporte les états à l'aide des nouveaux codes avec une fonction dans K du genre =SI(C2="France";RECHERCHEV(D2;'France'K19:N31;8;0);"") alors pareil pour la Belgique et pour la suisse.

Merci pour ton aide.

je suis un peu perdu ...

ces états s'actualisent automatiquement par une importation à partir d'une autre feuille renseigner par l'utilisateur

puis ...

l'autre feuille renseignée par l'utilisateur est-elle sur le même fichier : non la fonction rechercheV rapporte les états à l'aide des nouveaux codes avec une fonction dans K du genre =SI(C2="France";RECHERCHEV(D2;'France'K19:N31;8;0);"") alors pareil pour la Belgique et pour la suisse.

En fait, si tu veux une date en automatique, il faut utiliser onEdit, par exemple

function onEdit(event){ 
  var col = 2; // colonne B
  var feuille = "TABLEAU_DE_SUIVI_DE_FABRICATION";
  var f = event.source.getActiveSheet();
  var r = event.source.getActiveRange();
  if ((r.getColumn() == col) && (f.getName() == feuille) && (r.getRow() > 2)){ 
    r.offset(0,1).setValue(new Date());
  }
}

mais cette fonction se déclenche quand on modifie manuellement une cellule, celle qui a l'origine va modifier pour toi le statut ou l' "état". Ma question était donc de savoir à l'origine quelle action manuelle était faite pour changer les états.

Pour résumer le fichier que j'ai partagé à une colonne K nommée "Statut" qui contient des listes déroulantes dans les cellules pour les 6 différents états que l'opérateur aura à choisir, alors lorsque sur ce même fichier l'opérateur choisit dans K1 qui est initialement "Fonctionnelle" l'option "En panne" le Script inscrit en L1 toujours sur le même fichier la date et l'heure du passage de la cellule K1 de "Fonctionnelle" à "En panne".

Alors la date et l'heure est uniquement inscrit en L pour les Etats : ("En panne", "En réparation", "En Att. PDR") mais vide pour les états : ("Disponible", "Fonctionnelle")

Comme je suis débutant avec le code peux-tu stp me proposer un code pour cela ?

Merci bien !

ok, j'ai pigé, l'inducteur est la valeur choisie en colonne K

tu fais outils > editeur de script, et tu remplaces ce qui est proposé par :

function onEdit(event){ 
  var col = 11; // colonne K
  var f = event.source.getActiveSheet();
  var r = event.source.getActiveRange();
  if ((r.getColumn() == col) && (f.getName() == 'Base')){ 
    r.offset(0,1).setValue(new Date());
  }
}

ensuite tu valides (c'est déjà fait)

Merci infiniment, le code fonctionne très bien avec une fonction SI combiné j'atteins comme je souhaite mon objectif.

Merci pour le temps accordé et sachez que vous êtes pour la communauté...

Rechercher des sujets similaires à "inserer figer date fonction condition"