Charles
MembreRéponses céées sur le Forum
-
Ah oui mon code va jusqu’à 1000000 max il me semble.
Pour 1 milliard il faudrait que je refasse des tests
-
Moi perso je renouvelle le trial depuis 2 ans sans soucis ^^
-
Bonjour Marielle,
Une des solutions consiste à passer par un script Sharepoint pour mouliner ton nombre.
Il faut que tu ailles dans Excel Online puis que tu crées un nouveau script depuis l’onglet “Automate”.
Dans le script tu colles le code suivant:
<pre class=”language-javascript”>
function main(workbook: ExcelScript.Workbook, nombre: number) {
return nombreEnTexte(nombre)
}function nombreEnTexte(nombre: number) {
if (nombre < 100) {
return replaceResult(dizaineEnTexte(nombre));
} else if (nombre < 1000) {
return replaceResult(centainesEnTexte(nombre));
} else if (nombre < 1000000) {
let milliers = Math.floor(nombre / 1000);
let reste = nombre % 1000;
let texte: string
texte = nombreEnTexte(milliers) + ' mille';
texte += (reste > 0) ? ' ' + nombreEnTexte(reste) : '';
return replaceResult(texte);
} else {
return "Nombre trop grand";
}
}function centainesEnTexte(nombre: number) {
let centaines = Math.floor(nombre / 100);
let reste = nombre % 100;
let texte: string
texte = (centaines > 1) ? nombreEnTexte(centaines) + ' cent' : 'cent';
texte += (reste > 0) ? ' ' + dizaineEnTexte(reste) : '';
return texte;
}function dizaineEnTexte(nombre: number) {
const unites = ['zero', 'un', 'deux', 'trois', 'quatre', 'cinq', 'six', 'sept', 'huit', 'neuf'];
const dizaines = ['', '', 'vingt', 'trente', 'quarante', 'cinquante', 'soixante', 'soixante-dix', 'quatre-vingt', 'quatre-vingt-dix'];if (nombre < 10) {
return unites[nombre];
} else if (nombre < 20) {
return ['dix', 'onze', 'douze', 'treize', 'quatorze', 'quinze', 'seize', 'dix-sept', 'dix-huit', 'dix-neuf'][nombre - 10];
} else if (nombre === 80) {
return 'quatre-vingts';
} else {
let texte = dizaines[Math.floor(nombre / 10)];
let reste = nombre % 10;
if ((nombre >= 70 && nombre < 80) || (nombre >= 90)) {
texte = nombreEnTexte(nombre - 10) + '-dix';
reste -= 10;
}
texte += (reste > 0) ? ((reste === 1 && nombre !== 71) ? ' et un' : '-' + unites[reste]) : '';
return texte;
}
}function replaceResult(texte: string){
let texte_clean: string;
texte_clean = texte.replace("un-dix", "onze");
texte_clean = texte_clean.replace("quatre-vingt et onze", "quatre-vingt-onze");
texte_clean = texte_clean.replace("deux-dix", "douze");
texte_clean = texte_clean.replace("deux-dix", "douze");
texte_clean = texte_clean.replace("trois-dix", "treize");
texte_clean = texte_clean.replace("quatre-dix", "quatorze");
texte_clean = texte_clean.replace("cinq-dix", "quinze");
texte_clean = texte_clean.replace("six-dix", "seize");
texte_clean = texte_clean.replace("sept-dix", "dix-sept");
texte_clean = texte_clean.replace("huit-dix", "dix-huit");
texte_clean = texte_clean.replace("neuf-dix", "dix-neuf");
texte_clean = texte_clean.replace("un mille", "mille");
return texte_clean
}Tu sauvegardes ton script et ensuite tu peux l’appeler dans PowerAutomate avec la fonction
“Run script from SharePoint library”. Tu es obligée de sélectionner un fichier Excel mais quel que soit le fichier ça fonctionne et ensuites tu renseignes ton script à executer.
Le nombre en toutes lettres sera dans l’output de cette action
-
Charles
Membre25 janvier 2024 à 17h45 en réponse à: Problème pour récupérer une donnée d’une autre table à partir d’un formulaireCe n’est pas le bon menu, il faut aller dans les variables:
-
Charles
Membre25 janvier 2024 à 17h24 en réponse à: Problème pour récupérer une donnée d’une autre table à partir d’un formulaireJe ne vois pas la formule en entier sur le screen
-
Charles
Membre25 janvier 2024 à 17h18 en réponse à: Problème pour récupérer une donnée d’une autre table à partir d’un formulaireMon Title est la colonne contenant l’ID de mon entreprise dans La liste entreprise
-
Charles
Membre25 janvier 2024 à 16h08 en réponse à: Problème pour récupérer une donnée d’une autre table à partir d’un formulaireAlors j’ai une solution, après est-ce que c’est la plus simple, je ne sais pas.
Etape 1, tu dévérouilles ton champ ID_Entite dans ton form
Ensuite toujours avec la dataCard sélectionnée, tu ajoutes une zone de liste déroulante que tu passes en SelectMultiple = false.
Cette liste tu la lies aux données de tes entreprises puis en champ d’affichage tu sélectionnes le champ de Nom
Dans Cette liste, tu définis DefaultSelectedItem pour afficher la valeur actuelle de nom de l’entreprise de l’utilisateur sélectionné
Ca donne un résultat de ce style (j’ai mis les 2 combobox l’une au dessus de l’autre pour que ce soit parlant)
Ensuite tu changes le default selected item du champ qui affiches actuellement l’ID pour afficher toujours l’ID qui correspond à la liste des Noms en clair
Normalement à ce stade, quand tu changes le nom de la liste du bas, tu as automatiquement l’ID correspondant dans le champ du haut
Ensuite il te suffit de superposer les 2 champs et de passer le champ qui affiche l’ID en Visible=false pour ne voir que le champ qui affiche les noms. Le formulaire soumis avec SubmiForm prendra en compte la valeur du champ masqué qui lui affiche toujours l’ID correspondant au nom choisi
-
Bonjour Anthony,
Il faut que tu combines un filter et ton search.
avec un if au début
Par exemple:
if(Toggle.Value = true;Filter(Search(lecontenu du search habituel);colonne_facture = true);Search(le contenu du search habituel))
Evidemment il faut mettre Tes fonctions Sort dans tout ça
- Cette réponse a été modifiée Il y a 7 mois, 4 semaines par Charles.
-
Charles
Membre25 janvier 2024 à 15h07 en réponse à: Problème pour récupérer une donnée d’une autre table à partir d’un formulaireBonjour Lou,
Peut-être qu’un petit screen annoté permettrait d’avoir plus de réponses?
De ce que je comprends, tu as une bdd avec une colonne type Lookup qui renvoie l’ID d’une entreprise pour chaque client. Tu souhaites que dans le form de modification client, au lieu d’une liste déroulante avec les ID, ce soit une liste avec les Noms qui apparaissent, c’est ça?
-
Charles
Membre9 janvier 2024 à 17h03 en réponse à: Collecter dans une collection les records de plusieurs tables dans une tableBonjour BNguyen,
Avec des ForAll tu devrais pouvoir t’en sortir.
Si on considère que ta collection contenant tes tables s’appelle col_Tables, tu peux collecter une nouvelle collection col_Data de cette façon:
ForAll(col_Tables;ForAll(Value;Collect(col_Data;Value)))
En espérant que ça fonctionne.
-
Charles
Membre25 janvier 2024 à 18h01 en réponse à: Problème pour récupérer une donnée d’une autre table à partir d’un formulaireLa formule doit être dans DefaultSelectedItems. Dans Items il faut laisser la valeur par défaut
-
Charles
Membre25 janvier 2024 à 17h49 en réponse à: Problème pour récupérer une donnée d’une autre table à partir d’un formulaireDu coup au lieu de .Value il faut mettre .crc5b_id_entite
- Cette réponse a été modifiée Il y a 7 mois, 4 semaines par Charles.
-
Charles
Membre25 janvier 2024 à 17h37 en réponse à: Problème pour récupérer une donnée d’une autre table à partir d’un formulaireEn sélectionnant la partie de la formule puis en cliquant sur la flèche en bas à gauche
Si elle n’apparait pas tu peux aussi ajouter un bouton et collecter les données:
ClearCollect(col_Test;Gallery1.Selected.’Entreprise ID’) en remplaçant par tes valeurs
Ensuite il faut aller dans le volet de variable pour aller chercher la collection:
- Cette réponse a été modifiée Il y a 7 mois, 4 semaines par Charles.
-
Charles
Membre25 janvier 2024 à 17h29 en réponse à: Problème pour récupérer une donnée d’une autre table à partir d’un formulaireEst-ce que tu peux afficher la structure Gallery_AF.Selected.’ID_Entite’?
Normalement quand on met le . après il propose les propriétés: