Forum Replies Created

Page 1 of 2
  • Jeremy

    Member
    18 mars 2025 at 11h11 en réponse à: Images dans rapports PDF

    Merci R3dKap pour ta réponse.

    J’ai vu plusieurs vidéos de ce youtuber, c’est quand j’essaye de boucler (par exemple il y a 3 photos en PJ) que je n’y arrive plus.

    Je vais tester la solution de Sylvain et le faire dans l’appli, je ne suis visiblement pas assez bon en Automate.

    Merci à vous.

  • Jeremy

    Member
    17 mars 2025 at 11h22 en réponse à: Images dans rapports PDF

    Merci pour ta réponse, Sylvain.

    J’y ai bien pensé, mais je trouve que ce n’est pas très propre de le faire directement dans l’application.

    Et puis, je n’arrive pas à accepter l’idée qu’on ne puisse pas faire quelque chose d’aussi basique dans Power Automate 😒

  • Personnellement j’ai tenté l’abonnement ChatGPT (le 4o), je trouve ses réponses bien plus pertinentes.

    En version gratuite, tu as le droit à quelques prompts par jour, alors j’utilisais COPILOT pour peaufiner la demande, pour ensuite l’injecter dans ChatGPT si j’avais besoin de vérifier.

    COPILOT déraille assez vite, se laisse influencer, et corrompt son code au fur et à mesure des itérations.

    Exemple : je lui demande d’utiliser la syntaxe française sur PowerApps ( ; et ;; et non , et ; (quelle galère aussi les syntaxes US et Européenne)), il peut me sortir la fonction « Filtrer » ou « EffacerCollecte » sans problème 😅, des parenthèses apparaissent/disparaissent dans le code, etc.

    Quand COPILOT dit n’importe quoi je ne peux pas m’empêcher de l’insulter « Tu es un outil Microsoft et tu es nul sur un autre outil Microsoft !!!! » (même si ma science du prompt est en partie en cause)

    Bonus : ChatGPT retient ce que tu lui dis, tu peux un peu « l’éduquer »

  • Jeremy

    Member
    19 décembre 2024 at 14h28 en réponse à: Contrôles et thèmes modernes : qui utilise ?

    Merci pour vos réponses.

    Effectivement, le formulaire moderne me pose des problèmes sur les champs “Nombre”, le reset ne se fait pas avec le “NewForm”, et ce même champs a toujours 1 chargement de retard en mode affichage (il charge l’avant dernier enregistrement dans ma gallerie).

    Autre exemple, sur les boutons modernes, imaginons 1 vert et 1 rouge, si je selectionne les 2 pour en changer une propriété, ils retrouvent leur couleur par défaut.

    C’est pas grand chose dans l’absolu, mais ça ne donne pas confiance pour lancer d’autres éléments en production.

    Je vais donc continuer à les essayer, en restant vigilant.

  • Jeremy

    Member
    12 septembre 2024 at 22h27 en réponse à: Questions de débutant

    Il faut vraiment laisser Excel de côté. Il te permettra un reporting si tu veux, mais il ne doit pas être ta base de données.

    Tu vas devoir créer un site Sharepoint pour héberger des “listes”, qui sont des bases de données. Tu peux les créer à partir d’un tableau dans Excel.

    Ce sont ces bases qui serviront à ton application : 1 base avec les livres, 1 base avec les utilisateurs, etc.

    Youtube regorge de tutos plus ou moins avancés, mais souvent anglophones.

    Tu sembles être un grand débutant, accroche toi, la logique de départ est pas forcement évidente, mais ensuite c’est plus simple.

  • Jeremy

    Member
    12 septembre 2024 at 22h12 en réponse à: Bonnes pratiques création données HEADER / DETAIL

    C’est justement la solution que j’indique dans le premier poste 😉

    Aussi, je voulais trouver une alternative pour ne pas utiliser le LastSubmit car j’ai déjà eu des situations ou le lastSubmit ne me renvoit rien (quand certaines fonctionnalités en expérimental sont activées).

    Et puis je voulais aussi savoir comment font les gens plus malins que moi 😉

    C’est d’ailleurs la solution de Sylvain qui m’a 🤯

    Set(
    varIdTableFormulaire;
    Patch(
    tableFormulaire;
    Defaults(tableFormulaire);
    {}).ID

  • Jeremy

    Member
    12 septembre 2024 at 21h35 en réponse à: Questions de débutant

    Bonjour Nico,

    Power Apps est tout à fait capable de faire une application comme celle-ci. Mais il ne faut par contre pas raisonner en “Excel”, mais en base de données.

    Aussi, pour définir ton application, il faut définir plus précisement tes contraintes :

    Qui utilise l’application ?Une seule personne ou chaque emrpunteur?Comment sont gérés les “emprunteurs”?Sur un ordinateur en libre service?

    Comment on créer un nouveau livre? On recherche le livre par nom? Par ISBN? Combien de livres à gérer?

    etc,etc.

    Au plaisir d’aider, mais il faut plus de détails.

  • Jeremy

    Member
    12 septembre 2024 at 21h21 en réponse à: Bonnes pratiques création données HEADER / DETAIL

    Bonsoir à tous, et merci pour toutes vos réponses.

    Rappel de mon shéma de départ :

    Avant j’aurais créé l’enregistrement du HEADER via un formulaire (car + simple et j’aime le “OnSuccess”), puis récupérer l’ID via un lastsubmit, pour ensuite lancer depuis l’appli la création des enregistrements des DETAIL via des ForAll/Patch/Default a partir d’un filtre sur la table TEMPLATE_5S.

    Mais au final, sur les conseils de Quentin, j’ai trouvé plus simple via un flow :

    1- En input, l’ID de la zone (ici moi j’ai aussi une notion de secteur [1 secteur possède plusieurs zones], je duplique l’information, plus simple pour les reports, je sais c’est pas super normalisé 😅)

    2- Je créé un element dans ma liste sharepoint HEADER, j’y injecte mes inputs ID Secteur et Zone

    3- Je filtre ma liste TEMPLATE_5S pour en extraire les lignes relatives à mon ID_Zone

    4- Pour chaque élément, je créé une ligne dans la table DETAIL, avec mon fameux ID_HDR provenant le la première opération

    5- Enfin, je demande au flow de me renvoyer en output l’ID_HDR pour que je puisse l’utiliser comme filtre dans mon application

    Dans l’application, pour lancer le flux (Crea_DTL) et récupérer l’ID_HDR dans une variable :

    <div>
    <div>Set(F_IDHDR;Crea_DTL.Run(ID_Zone;ID_Secteur).id_hdr_flux).</div>
    <div> </div>
    <div> </div>
    <div>Ensuite, concernant la mise à jour des données de l’audit, je préfère créer tout de suite les enregistrements dans la base, et les afficher via une gallerie (et non afficher une collection), et les patcher à chaque modification (OK/NOK, commentaire, photo, etc). J’aime bien l’idée que si un utilisateur, quitte l’application en cours d’audit (mauvaise manip ou il est appelé ailleurs), son travail n’est pas perdu. </div>
    <div> </div>
    <div>Merci à ceux qui sont restés jusque là :-p</div>
    </div>

  • Jeremy

    Member
    12 septembre 2024 at 20h28 en réponse à: Importer des données en masse “Lists”

    Bonsoir Hervé,

    si c’est un import en masse depuis ton excel vers ta liste sharepoint, tu peux aussi faire la manip suivante, supprimer ta liste de ton Sharepoint, et en recréer une avec un nom et une structure strictement identiques. Si tu fais ça, tu devras supprimer cette liste comme source de données dans ton application, puis aller rechercher la nouvelle. Si tu as bien les même nom de champs et les même propriété de champs (date, nombre, texte, etc), c’est transparent pour l’application.

    • Tu importes la liste depuis ton sharepoint vers un fichier Excel (attention, ça ne créé pas un tableau statique, mais une requête, il faut copier-coller les valeurs ailleurs avant de travailler dessus), pour avoir la structure de ta liste (nom des colonnes).
    • Tu fais ton travail sur les données, qui doivent être dans un tableau, et tu enregistres le fichier Excel sur un sharepoint. Prends soin de supprimer les colonnes héritées de la liste sharepoint comme l’ID, date de création, etc. C’est le sharepoint qui fera el travail de les remplir à l’export (ici en rouge).
    • Tu exportes le tableau vers ta liste sharepoint, que tu nommes exactement comme l’ancienne.

    J’espère que ça poura t’aider.

  • Jeremy

    Member
    17 juillet 2024 at 10h06 en réponse à: Bonnes pratiques création données HEADER / DETAIL

    Merci Quentin pour ta réponse, je vais creuser ce sujet.

    Tchô

  • Jeremy

    Member
    20 juin 2024 at 21h30 en réponse à: Reset Bouton Radio style moderne

    Bonsoir Laurent,

    j’ai fait le test avec le “modern” et l’ancien, et comme la plupart des “modern”, ça ne fonctionne pas bien.

    Le moderne créé chez moi un choix vide au lieu d’être vide. Voir image ci-dessous après un “NewForm” :

    <div>
    <div>DefaultSelectedItems = If( Form1.Mode=FormMode.New ;[Blank()];[ThisItem.Titre])</div>
    <div>Ca fait exactement la même chose avec DefaultSelectedItems = [ThisItem.Titre], lors d’un NewForm</div>
    </div>

    Au moins, le controle est true sur : RadioGroupCanvas1_1.Selected.Value=Blank(), tu peux essayer de t’en servir comme condition pour soumettre ton formulaire.

    Sinon, l’ancien marche nickel, il se reset en même temps que le ResetForm.

    Toute façon c’était mieux avant 😉

  • Jeremy

    Member
    3 juin 2024 at 20h56 en réponse à: Desactivation d’un bouton conditionnelle

    Dans ce cas, découpe ta formule, et affiche chaque valeur de chaque element de ta formule dans des étiquettes de texte. Exemple : DataTableSuiviArrivéesMutationsInternes.Selected.’Action AMOA’.Value dans une étiquette, etc.

    Tu pourras voir en testant tous les cas de figure si certaines valeurs ont des valeurs diférrentes de ce que à quoi tu t’attends.

  • Jeremy

    Member
    31 mai 2024 at 19h49 en réponse à: Desactivation d’un bouton conditionnelle

    Bonjour Shalaya,

    comme tu le dis : “Ce que je veux, le bouton “Modifier la demande” soit désactivé ou caché si jamais la demande est statut refusée.”, alors je te conseille de renverser ta formule sur le bouton, et de mettre tes conditions sur le “disabled” plutot que sur le “Edit”.

    ==> si statut 1 = refusée ou statut 2 = refusée ou statut x = refusée alors displaymode.disabled

  • Jeremy

    Member
    23 mai 2024 at 12h49 en réponse à: Mixer une galerie, formulaire et position

    La colonne “Titre” ici est utilisé pour l’exemple, car j’ai eu la flemme d’en créer une autre 😅

    Effectivement la colonne est créée par défaut, tu peux la supprimer ou simplement l’ignorer. Perso je ne l’utilise pas car j’ai déjà eu des erreurs du type : En français c’est “Titre” mais dans un environnement Anglais c’est “Title” ==> Erreur de formule

    A ta place, je n’utiliserais pas de lookup column mais une colonne classique, et je ferais tout dans l’application directement. Déjà c’est plus simple, et ça permet aussi de rajouter du comportement dans l’appli.

    Exemple : mon Look-up ne retourne rienè Affichage d’un message d’erreur à l’utilisateur et impossible de valider la création.

  • Jeremy

    Member
    22 mai 2024 at 14h03 en réponse à: Mixer une galerie, formulaire et position

    Bonjour Elias,

    comment je ferais :

    • Je mettrais la création des emplacement sur le “On Sucess” de ton formulaire de création de boite
    1. Je recupere le dernier ID_Mere créé : Set(_ID_Boite_Mere;FormulaireCreationBoite.LastSubmit.ID)
    2. <div>
      <div>ForAll(Sequence(9;1;1);</div>
      <div>Patch(Liste_Emplacement_Boite;</div>
      <div>Defaults(Liste_Emplacement_Boite);</div>
      <div>{Emplacement: Value; //Ici de 1 à 9</div>
      <div>ID_Mere: _ID_Boite_Mere}))</div>
      <div> </div>
      <div></div>

      </div>

Page 1 of 2