Réponses céées sur le Forum

Page 1 sur 2
  • Oui c’est possible que ce que MarKAR avance soit exact si le flux se lance avec les comptes des utilisateurs mais si au resubmit du flux fail ça fail encore alors que c’est toi qui lance c’est bizarre.

    Moi tous mes flux se lancent avec mon compte et n’utilisent jamais le compte des utilisateurs

  • Bonjour Vincent,

    Quand tu resubmit le flux fail depuis power automate, il fonctionne?

  • Charles

    Membre
    22 mars 2024 à 10h54 en réponse à: Flux Forms réponse à un questionnaire dates facultatives

    Essaye de mettre une formule conditionnelle et de renvoyer null au lieu de “”

  • Hello!

    Ce serait bien dans PowerApps de pouvoir gérer les visibilités des champs en fonction de remplissage d’autre champs de manière simplifiée.

    Genre tu cliques sur un champs et tu peux décider rapidement quel élément s’affiche en fonction de quelle valeur ou si le champ est rempli.

  • Charles

    Membre
    2 février 2024 à 11h21 en réponse à: Activer / Désactiver Bouton

    Bonjour Thomas,

    Tu peux comparer le nombre de lignes de ta gallerie avec le nombre de lignes remplies dans ta gallerie.

    Ca va donner un truc du style:

    <div>
    <div>
    <pre class=”language-markup”>If(CountRows(Gallery1.AllItems)-CountRows(Filter(Gallery1.AllItems;Not(IsBlank(DatePicker1.SelectedDate))))=0;true;false)

    </div>
    <div> </div>
    <div>Sachant que là j’ai fait mon filter sur un seul champ DatePicker mais si tu as par exemple en plus un champ de texte qui doit être rempli dans chaque ligne tu peux faire:</div>
    <div> </div>
    <div>
    <div>
    <pre class=”language-markup”>If(CountRows(Gallery1.AllItems)-CountRows(Filter(Gallery1.AllItems;Not(IsBlank(DatePicker1.SelectedDate)) && Not(IsBlank(TextInput1.Text))))=0;true;false)

    </div>
    <div> </div>
    <div> </div>
    <div>Je te laisse adapter à ton cas.</div>
    </div>
    </div>

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

    Membre
    1 février 2024 à 17h50 en réponse à: Recherche un utilisateur Office365

    Alors l’erreur est normale.

    ’Utilisateursd’Office365′.SearchUserV2({searchTerm:ClientSelectedProfile.DisplayName,top:5}).value renvoie une table avec toutes les données de l’utilisateur sachant qu’il renvoie les 5 premiers résultats d’utilisateur s’il y a plusieurs résutlats.

    Il faut ajouter un first:

    First(’Utilisateursd’Office365′.SearchUserV2({searchTerm:ClientSelectedProfile.DisplayName,top:5}).value).DisplayName

  • Charles

    Membre
    1 février 2024 à 16h50 en réponse à: Recherche un utilisateur Office365

    Bonjour Olivia,

    Je pense que ça aiderait si tu pouvais nous partager le message d’erreur associé.

    Ta formule tu l’as mis dans quel type de contrôle?

  • Charles

    Membre
    1 février 2024 à 14h15 en réponse à: Formulaire d’affichage vs Formulaire de modification

    Oui mais avec le risque que quelqu’un modifie quelque chose par inadvertance. Bon encore faut-il qu’il valide la saisie.

  • Charles

    Membre
    1 février 2024 à 12h17 en réponse à: Réécrire un montant en lettres

    Une des solutions consiste à ajouter des lignes à la dernière fonction

    texte_clean = texte_clean.replace(“deux million”, “deux millions”);

    texte_clean = texte_clean.replace(“trois million”, “trois millions”);

    etc…

    C’est un peu lourd mais ça contournera très bien le soucis sans toucher au code de base

  • Charles

    Membre
    1 février 2024 à 12h13 en réponse à: Formulaire d’affichage vs Formulaire de modification

    Bonjour Anthony,

    Pour éviter que les gens ne consultent en modification, tu peux n’avoir qu’un écran qui est par défaut en affichage et qu’un bouton peut faire basculer en mode modification.

    Tu peux gérer le FormMode avec une variable de contexte.

  • Charles

    Membre
    29 janvier 2024 à 17h15 en réponse à: Filtre dans liste déroulante

    OK dans ce cas il faut dans OnChange de la liste 1 mettre:

    Clear(col_Projets);;

    ForAll(cb_Article.SelectedItems;Collect(col_Projets;FILTER(PROJET; REF_ARTICLE = NomDeLaColonneDeRefArticle)))

    Ensuite dans le Items de la liste 2 mettre col_liste2 et selectionner la colonne à faire apparaitre dans la liste 2 parmi celles de la col_Projets

  • Charles

    Membre
    29 janvier 2024 à 17h08 en réponse à: Filtre dans liste déroulante

    Est-ce que la liste 1 a qu’une seule colonne Value ou elle possède d’autres colonnes?

  • Charles

    Membre
    29 janvier 2024 à 16h55 en réponse à: Filtre dans liste déroulante

    C’est une liste déroulante ou une zone de liste que tu as?

    En selection multiple je dirai une zone de liste. Peut-être qu’avec ForAll ça fonctionnerait?

    ForAll(cb_Article.SelectedItems;FILTER(PROJET; REF_ARTICLE = Value)

    Sinon tu peux faire une collection à partir de la propriété onchange de ta liste 1 et utiliser ta collection comme items de ta liste 2

  • Charles

    Membre
    29 janvier 2024 à 16h48 en réponse à: Réécrire un montant en lettres

    Là c’est 100 milliards max

  • Charles

    Membre
    29 janvier 2024 à 16h47 en réponse à: Réécrire un montant en lettres

    Voilà un nouveau code, après il y a un peu de bidouillage et je suis pas un pro donc je garantis pas que ça fonctionne à 100%

    <pre class=”language-javascript”>function main(workbook: ExcelScript.Workbook, nombre: number) {
    return replaceResult(numberToWordsFr(nombre))
    }
    function numberToWordsFr(num: number): string {
    const units = ['zero', 'un', 'deux', 'trois', 'quatre', 'cinq', 'six', 'sept', 'huit', 'neuf'];
    const tens = ['', 'dix', 'vingt', 'trente', 'quarante', 'cinquante', 'soixante', 'soixante-dix', 'quatre-vingt', 'quatre-vingt-dix'];
    const teens = ['dix', 'onze', 'douze', 'treize', 'quatorze', 'quinze', 'seize', 'dix-sept', 'dix-huit', 'dix-neuf'];

    if (num < 10) {
    return units[num];
    } else if (num < 20) {
    return teens[num - 10];
    } else if (num < 100) {
    let unit = num % 10;
    let ten = Math.floor(num / 10);
    return tens[ten] + (unit > 0 ? '-' + units[unit] : '');
    } else if (num < 1000) {
    let hundred = Math.floor(num / 100);
    let remainder = num % 100;
    return units[hundred] + ' cent' + (remainder > 0 ? ' ' + numberToWordsFr(remainder) : '');
    } else if (num < 1000000) {
    let thousand = Math.floor(num / 1000);
    let remainder = num % 1000;
    return numberToWordsFr(thousand) + ' mille' + (remainder > 0 ? ' ' + numberToWordsFr(remainder) : '');
    } else if (num < 1000000000) {
    let million = Math.floor(num / 1000000);
    let remainder = num % 1000000;
    return numberToWordsFr(million) + ' million' + (remainder > 0 ? ' ' + numberToWordsFr(remainder) : '');
    } else if (num < 100000000000) {
    let billion = Math.floor(num / 1000000000);
    let remainder = num % 1000000000;
    return numberToWordsFr(billion) + ' milliard' + (remainder > 0 ? ' ' + numberToWordsFr(remainder) : '');
    } else {
    return 'Nombre trop grand';
    }
    }

    function replaceResult(texte: string) {
    let texte_clean: string;
    texte_clean = texte.replace("dix-un", "onze");
    texte_clean = texte_clean.replace("dix-deux", "douze");
    texte_clean = texte_clean.replace("dix-trois", "treize");
    texte_clean = texte_clean.replace("dix-quatre", "quatorze");
    texte_clean = texte_clean.replace("dix-cinq", "quinze");
    texte_clean = texte_clean.replace("dix-six", "seize");
    texte_clean = texte_clean.replace("trente-un", "trente et un");
    texte_clean = texte_clean.replace("vingt-un", "vingt et un");
    texte_clean = texte_clean.replace("quarante-un", "quarante et un");
    texte_clean = texte_clean.replace("cinquante-un", "cinquante et un");
    texte_clean = texte_clean.replace("soixante-un", "soixante et un");
    texte_clean = texte_clean.replace("soixante-onze", "soixante et onze");
    texte_clean = texte_clean.replace("soixante-dix-deux", "soixante-douze");
    texte_clean = texte_clean.replace("quatre-vingt et un", "quatre-vingt-un");
    return texte_clean
    }

Page 1 sur 2