Simuler un rechercheV entre 2 listes SP

  • Simuler un rechercheV entre 2 listes SP

    Posté par GREGOIRE sur 28 août 2024 à 10h18

    Bonjour à tous,

    j’ai un cas d’usage assez classique, mais impossible de trouver des ressources qui répondent à mon besoin :

    • 1 liste A avec une liste exhaustive de code
    • 1 liste B avec une partie des codes de la liste A

    Evidemment je veux automatiser ce processus, j’ai plusieurs milliers de lignes. J’ai commencé un flux mais celui-ci tourne pendant des heures sans rien produire :

    En résumé :

    1- je récupère les items de mes 2 listes

    2- J’ouvre une condition de comparaison entre mes des listes : Si ColonneA = ColonneB => Automatiquement Power Automate imbrique 2 boucle To Each avec les output Value des 2 get items, je ne suis pas convaincu de cette approche pour la performance, mais admettons, je ne dois le faire qu’une fois par 1

    3- Si la condition est vraie, alors j’update la colonne cible dans la liste A avec la valeur de la colonne de la liste B

    dans l’état actuelle ça tourne pendant des heures sans rien écrire dans la liste A, je ne sais pas trop quoi faire pour être honnête, je suis preneur de tout conseil

    en vous remerciant !

    Greg

    • Cette discussion a été modifiée Il y a 2 mois, 3 semaines par  GREGOIRE.
    Olivier a répondu Il y a 2 mois, 3 semaines 3 Membres · 13 Réponses
  • 13 Réponses
  • R3dKap

    Membre
    28 août 2024 à 10h46

    Salut @GREGOIRE,

    C’est un traitement qui doit tourner régulièrement ou c’est du “one-shot” ?

    Si c’est régulier, est-ce qu’on peut envisager un déclenchement manuel ou ça doit être planifié ?

  • GREGOIRE

    Membre
    28 août 2024 à 10h48

    Salut c’est du oneshot, je dois faire du 5S dans ma liste, à la main c’est hors de question, c’est pour ça que j’ai créé une liste temporaire à partir d’un fichier excel, pour avec 2 supports équivalents. après c’est peut-être pas la solution pour supprimer en masse des lignes ciblées dans une liste, je ne sais pas

  • R3dKap

    Membre
    28 août 2024 à 10h51

    J’ai pas tout compris.

    Tu peux me réexpliquer le besoin à l’origine ? Les données sont dans des fichiers Excel au départ et tu les as transférées dans SharePoint pour faire le flux ? Ou les données sont dans SharePoint au départ ?

    L’objectif final c’est de supprimer les lignes qui ne sont pas communes aux 2 ?

  • GREGOIRE

    Membre
    28 août 2024 à 10h55

    c’est exactement le schéma de principe que j’ai mis en début de poste, pas plus que ça.

    2 listes SP => rappatrier dans une liste A les items de la liste B en face s’il y a correspondance, comme le ferai un recherchev dans excel

    Si j’arrive à faire ça j’ai atteint mon objectif

  • R3dKap

    Membre
    28 août 2024 à 11h04

    Ok. Le truc c’est que de le faire via Power Automate ça prendre du temps à construire et à s’exécuter (passke c’est très lent).

    Du coup je vois 2 solutions : Power Apps ou Excel.

    <h3>Solution Power Apps</h3>

    Tu crées une petite app où tu mets un bouton avec un bout de code pour faire le job. Si tu veux partir là-dessus je peux t’aider à construire le code. Mais c’est à supposer que tes données sont bien telles que sur l’exemple que tu as donné, c’est à dire des valeurs numériques car il va falloir que l’on fasse des traitements par lots de 2000 lignes (qui est le max de chargement par Power Apps). Pas hyper simple non plus.

    <h3>Solution Excel</h3>

    Tu exportes tes listes SharePoint vers Excel (en conservant la connexion). Dans Excel tu fais le RechercheV et tu enregistres ta liste A avec le résultat du RechercheV -> ta liste A dans SharePoint se met à jour. Perso je partirais plutôt sur cette piste qui pourrait permettre de faire le job en 5mn.

    Question importante : y’a combien de lignes dans tes listes ?

  • GREGOIRE

    Membre
    28 août 2024 à 13h01

    Liste B

    Liste A

    je suis curieux du mode opératoire sous excel, j’ai regardé rapidement :

    Sur la liste A : “Exporter” => “Exporter vers Excel”

    une query se DL en local

    A l’ouverture du fichier, Excel se lance avec ce message d’avertissement

    par défaut je fais “Activer”

    est-ce que je suis bon avant d’aller plus loin ?

    je peux rapidement faire mon recherchev dans la colonne cible, et gérer les #N/A en SIERREUR(MonRechercheV ; “”) pour ne pas renvoyer des valeurs pourries dans la liste SP

    ma question c’est comment écraser proprement la liste existante avec cette feuille excel à jour ?

    merci

  • R3dKap

    Membre
    28 août 2024 à 14h30

    Oui c’est bien ça : tu actives la connexion et normalement quand tu enregistres ton fichier Excel avec des modifs il met à jour ta liste. Donc effectivement à toi de checker qu’elle est bien propre…

  • GREGOIRE

    Membre
    28 août 2024 à 14h36

    j’ai tenté d’exécuter ma formule dans la table générée par l’exportation, mais les calculs ne se font pas.

    Je pense qu’une liste SP exportée en Excel via un fichier .iqy, génère un fichier de type requête web qui se connecte directement à la liste pour récupérer les données. Donc les données affichées dans Excel sont “liées” dynamiquement à SP, et non directement intégrées dans le fichier Excel comme des valeurs statiques. Ainsi, soit :

    • Les données sont en lecture seule : ça peut limiter les modifications que je peux apporter sur la feuille, notamment l’ajout de formules directement dans ces cellules.
    • La MàJ des données est unilatérale : La feuille Excel générée est conçue pour mettre à jour les données depuis SP en s’y connectant, ce qui peut empêcher l’édition normale des cellules.
  • GREGOIRE

    Membre
    28 août 2024 à 14h41

    je me demande si cette solution Add & Update Excel Data to SharePoint List using Power Automate (youtube.com)

    ne serait pas la bonne, ça y ressemble beaucoup

  • R3dKap

    Membre
    28 août 2024 à 15h04

    Yes tu peux tenter… De mon côté je vais faire un test quand même sous Excel avec 2 listes bidons pour voir…

  • R3dKap

    Membre
    28 août 2024 à 15h51

    Bon… Impossible de retrouver la méthode qui permet d’updater une liste SharePoint directement à partir d’Excel. Pourtant je sais que je l’ai fait y’a quelques années et j’avais trouvé ça hyper pratique. Mais là plus moyen… Est-ce qu’ils l’on désactivé ?

    Après, vu que c’est du OneShot, tu peux exporte ListeA, exporter ListeB, faire le RechercheV dans Excel puis importer le résultat dans une nouvelle table SharePoint…

  • GREGOIRE

    Membre
    28 août 2024 à 16h14

    te casse pas la tête, avec la vidéo que j’ai trouvé, j’arrive à isoler de manière maladroite mais suffisamment claire quelles sont les lignes de la liste à supprimer, ça répond à mon besoin.

    merci pour ton temps et ton implication en tout cas, ça fait plaisir !

  • Olivier

    Membre
    28 août 2024 à 19h28

    bonjour Grégoire

    sinon il y a power query pour associer tes 2 tables :

    tu combines la table A avec les correspondances quelle trouve dans la table B, et tu fais apparaitre la colonne de la table B qui t’intéresse dans la table A

    • Cette réponse a été modifiée Il y a 2 mois, 3 semaines par  Olivier.

Connectez-vous pour répondre.