Partage
  • Partager sur Facebook
  • Partager sur Twitter

Actualisation données validées

    16 septembre 2021 à 11:45:21

    Bonjour, j'ai fouillé Google mais aussi ce forum et je n'ai pas trouvé ma réponse. Peut-être n'ai-je pas les bons termes. Pour ce projet je travaille sous google sheet.

    Voici mon cas :

    J'ai un planning avec des jours et des horaires

             Lundi   Mardi   Mercredi

    07h

    08h

    09h

    ...   

    Dans un autre onglet j'ai une "base de données"

    Albert

    JMichel

    Robert

    George

    ....

    Pour gagner du temps, j'ai donc créé une liste déroulante via une validation de données. Données prisent dans ma base de données et la liste déroulante apparaît dans mon onglet horaire.

    Pas de soucis je gère :)

    Si je rajoute un nom dans ma base, il apparaît automatiquement dans la liste. Pas de soucis.

    MAIS VOILA

    J'aimerai trouver un moyen simple pour que le changement d'une valeur dans ma base de données se modifie automatiquement dans les endroits ou la valeur est déjà existante dans mon planning.

    Par exemple si j'ai "Robert" dans ma base de données et que j'ai placé "Robert" à 07h le lundi et le mercredi dans ma grille horaire, et que je remplace le "Robert" par "Roberts", je sais que la liste liée à la validation va s'actualisé, mais que je vais me retrouver avec une erreur de "validation" dans horaire ou "Robert" était déjà placé.

    Comment faire pour résoudre ce problème ?

    --

    J'ai essayé d'imaginer une possiblité de feinter la chose, mais impossible de la concrétiser.

    Je me suis dis que dans horaire, il faut que j'ai le prénom de la personne qui s'affiche, mais que si je veux que ca s'actualise, il faudrait que j'appelle la cellule (par exemple B15), ainsi, peut importe ce qu'il y a dans B15, mon planing horaire m'affichera toujours ce qu'il y a dedans.

    Mais outre le coté peu probable que cela fonctionne, cela voudrait dire que dans ma liste, je me retrouve avec "=B15" au lieu de "Robert" et du coup je ne comprendrais plus rien :) Bref, je suis perdu

    -
    Edité par NomQuiClaque 16 septembre 2021 à 11:45:45

    • Partager sur Facebook
    • Partager sur Twitter
      16 septembre 2021 à 13:01:21

      peut-être avec la fonction/macro onEdit(e)( https://developers.google.com/apps-script/guides/triggers#onedit );

      les paramètres de l'évènement e passé en paramètre https://developers.google.com/apps-script/guides/triggers/events#edit 

      Dans cette fonction, l'idée serait de tester si la cellule modifiée (e.Range) est dans la plage de la liste des noms (ça veut donc dire qu'on a modifier la liste des noms). Ensuite, si c'est le cas de chercher les cellules avec la valeur avant modification (e.oldValue) dans la feuille horaire et la remplacer par la nouvelle valeur (e.Value)

      • Partager sur Facebook
      • Partager sur Twitter
        16 septembre 2021 à 14:48:27

        Bon, j'ai trouvé une solution "bidouille" mais j'aurais préféré faire autrement.

        J'ai donc utilisé le menu "édition" et "rechercher/remplacer"
        J'avoue que j'aurai aimé avoir une vrai solution (pour le défit)

        Merci à ceux qui auraient une piste ou qui me lise !

        G

        Merci Umfred, je vais tester cela :)

        -
        Edité par NomQuiClaque 16 septembre 2021 à 14:49:16

        • Partager sur Facebook
        • Partager sur Twitter
          16 septembre 2021 à 15:01:30

          En fait, ma solution c'est d'automatiser ce rechercher/remplacer manuel ^^ mais pas de solution simple je pense.

          Une autre piste pourrait peut-être d'utiliser l'index de la liste (ou en ayant une colonne index et colonne nom, en utilisant un peu le principe de ceci Comment afficher des images dynamiquement dans une feuille Excel  (sans l'appliquer à l'image)

          • Partager sur Facebook
          • Partager sur Twitter
            11 octobre 2021 à 0:31:07

            "

            MAIS VOILA

            J'aimerai trouver un moyen simple pour que le changement d'une valeur dans ma base de données se modifie automatiquement dans les endroits ou la valeur est déjà existante dans mon planning."

            Si la BDD est correctement conçue, tu peux faire un ON UPDATE CASCADE : https://openclassrooms.com/fr/courses/1959476-administrez-vos-bases-de-donnees-avec-mysql/1965264-options-des-cles-etrangeres#/id/r-1982861

            Ça sera, je pense, bien mieux que ta "bidouille".

            • Partager sur Facebook
            • Partager sur Twitter
              11 octobre 2021 à 11:53:32

              @CristianoRonlando ici c'est plus un problème d'utilisation de GoogleSheets que vraiment une base de données
              • Partager sur Facebook
              • Partager sur Twitter

              Actualisation données validées

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown