

Séb
MemberForum Replies Created
Merci pour la mise en commun des neurones !! Sur un mot, une expression ou une question ça aide parfois à élargir le champ des possibles
CommentID=C6wcUYG4rRBpJUS, PostID=24U0I1MPr93RKaS
Cette piste semble la bonne : je viens de remplacer dans ma LSP “1 000” par “1000” et mon filtre de galerie fonctionne !!
CommentID=T6hJWS5YuVAIOUx, PostID=24U0I1MPr93RKaS
En fait j’alimente chaque mois la LSP à partir d’une extraction Excel d’une autre appli métier en copiant/collant les valeurs des champs en mode grille.
Je ne me suis jamais posé la question du format puisque jusque là, le NUM_PROC et ma saisie dans le Textinput ne dépassaient pas les 3 caractères.
Donc pour répondre à la question, oui le séparateur de milliers s’est mis tout seul. Cela pourrait-il provenir du format initial de la cellule de l’extraction en question ?
CommentID=FdTTe5Kr5rSJXYs, PostID=24U0I1MPr93RKaS
Bonjour Geoffroy WAGNER
J’ai un peu plus de 150 lignes
CommentID=dqLwlbsT7wlCINs, PostID=24U0I1MPr93RKaS
Bonjour Philippe,
J’ai rentré ça dans le Visible :
If("ASV" in ComboBox1.SelectedItems;true)
Et effectué le test qui va bien !!
CommentID=KkuUAgou8H05utS, PostID=CJBs2Kt0p4SMBH8
Bonjour @ChezWam
Tu trouveras ci dessous, une réponse apportée par @R3dKap à une sollicitation du même genre sur le précédent forum.
Riche d’enseignement, comme d’habitude.
T’en souhaitant bonne lecture,
La fonction Patch() (doc officielle : Patch function) te sers principalement, comme tu le sais déjà sans doute, à créer ou modifier des enregistrements d’une collection ou d’une source de données.
La fonction Patch() a 3 paramètres :1er paramètre : le nom de la collection ou de la source de données…
Exemple 1 :
Patch(maCollection, ...)
ouPatch(CustomersList, ...)
2è paramètre : 3 possibilités…
pour créer un nouvel enregistrement : on utilise alors la fonction Defaults() en lui passant de la nom de la collection ou de la source de données qui est spécifiée dans le 1er paramètre…
Exemple 2 :
Patch(CustomersList, Defaults(CustomersList), ...)
pour modifier un enregistrement existant : il faut alors spécifier l’enregistrement concerné qui va être modifié
soit l’enregistrement complet en utilisant une fonction du type LookUp() ou First() ou Last(), etc…
Exemple 3 :
Patch(CustomersList, LookUp(CustomersList, Name='SMITH'), ...)
soit un enregistrement partiel en spécifiant la valeur d’un champ clé…
Exemple 4 :
Patch(CustomersList, {ID: 12}, ...)
pour modifier un ensemble d’enregistrements existants : il faut alors fournir dans ce paramètre la liste des enregistrements à modifier…
Exemple 5 :
Patch(CustomersList, Filter(CustomersList, CustomerType='Professionnel'), ...)
3è paramètre : les valeurs des colonnes du nouvel enregistrement (s’il s’agit d’une création) ou des enregistrements qui vont être modifiés (s’il s’agit d’une modification)…
Exemple 6 :
Patch(CustomersList, Defaults(CustomersList), {CustomerLastName: 'DUPONT', CustomerFirstName: 'Frédéric', CustomerType: 'Particulier'})
va créer un nouvel enregistrement dans la liste CustomersList avec les valeurs de colonnes indiquées…Exemple 7 :
Patch(CustomersList, LookUp(CustomersList, CustomerNumber='546887'), {CustomerType: 'Professionnel'})
va modifier l’enregistrement du client n° 546887 pour changer sa colonne CustomerType en Professionnel…Exemple 8 :
Patch(CustomersList, Filter(CustomersList, CustomerLastName='DUPONT'), {CustomerType: 'Professionnel'})
va modifier tous les clients qui s’appellent DUPONT pour changeur leur colonne CustomerType en Professionnel
Après avoir utilisé la fonction Patch(), il faut idéalement s’assurer que l’opération s’est bien déroulée. Pour cela, juste après le call du Patch() on utilise la fonction Errors(). Le moyen le plus simple d’utiliser cette fonction c’est de simplement lui passer le nom de la collection ou de la source de données qui figure dans le 1er paramètre du Patch() juste avant. La fonction Errors() te renvoie alors la liste des erreurs qui sont apparues lors de la dernière opération effectuée sur cette collection ou source de données.
Exemple 9 :If(IsEmpty(Errors(CustomersList)),n Notify('Modifications enregistrées avec succès !'),n Notify('Une erreur est apparue lors de la mise à jour !')n)
CommentID=bWLagfnNLGjllH5, PostID=NjO0xGFEOIFNdIl
Bonjour @R3dKap ,
Encore une fois un GRAND MERCI 🙏 pour le contenu et la clarté de ta réponse. Je te suis vraiment reconnaissant du temps consacré à t’adapter à ma situation et à me proposer une solution personnalisée.
J’avais trouvé, en attendant, une solution palliative de mon côté (mais moins “chiadée”) et surtout qui ne permettait pas de sélectionner plusieurs pilotes. Et ça c’est vraiment un plus !!
Je vais donc adapter ton code à mon appli et reviendrais vers toi en cas de besoin.
Au fait je m’attendais à trouver du Lookup (du moins en clair) !!! 🤣 .
Et longue vie à cette plateforme d’entraide !!
Bien à toi,
Séb
CommentID=MrLXcL7tDsD7SG1, PostID=OwMnA3HFeAv42u0
Bonjour Hugues,
J’ai récupéré votre fichier Excel et importé vos données dans BI.
Après avoir transformé les données, j’ai ajouté un visuel de type matrice pour jouer avec les champs.
Le filtre avancé “est le ou après le” 01/01/2022 fonctionne correctement de mon côté.
Question simple : votre champ ChangeDate est-il au bon format ?
CommentID=4y4EzFqQxh4ctbL, PostID=FsbvEotnoTEAzJI
1ère liste : PROCESSUS
Titre (code du processus)
LIBELLE (texte simple)
2e Liste : SAARA
Titre : (code du processu)
CODEPROCESSUS : lookup
ACTION : texte simple
PILOTE : texte simple
PILOTEAD : personne
ETAT : choix
J’avais “normalisé” les noms pour nos échanges😀 . Mais on parle de processus et d’actions associées avec un ou plusieurs pilotes de processus.
CommentID=RyNT5gi5LJ9uOLp, PostID=OwMnA3HFeAv42u0
Au temps pour moi, ça fonctionne !! 😅
Je suis donc prêt
CommentID=EBnMLonfjqkmzJ2, PostID=OwMnA3HFeAv42u0
A mon tour de poser une petite question : pourquoi avoir copier/coller le code de l’activité (PM113,PM114…) dans la colonne ssActivité qui devrait contenir, à mon sens, le libellé du code (gérer les…, gérer les …,) ?
Et au passage, la sélection des valeurs de Titre en mode grille ne fonctionne pas de mon côté.
CommentID=eq6y9eemgSD5D3P, PostID=OwMnA3HFeAv42u0
Bonjour @R3dKap ,
Et bien un grand merci déjà pour ces éléments et le temps consacré à rédiger cette 1er (longue) partie de réponse😀 👍 .
Concernant la colonne des responsables, les valeurs étaient rentrées en Texte dans Excel. (donc difficilement “matchables” avec l’AD même si on avait prénom et nom)
Lors de la création de la List SP, une nouvelle colonne de type Personne a été ajoutée après import des données à partir d’Excel.
Et pour chaque personne concernée, chaque valeur de l’AD a été saisie (pour chaque ligne) et l’option de sélection multiple a été activée directement dans les propriétés de ma colonne comme suit :
Je m’attaque aux travaux du matin que tu m’as donnés😉 et reviens vers toi pour la suite..
CommentID=6WVYxSmaV6kU4j4, PostID=OwMnA3HFeAv42u0
A la base la Liste SP a été créée à partir d’un fichier Excel et le champ Activité a été importé comme ça. Mais je suis ouvert à toute proposition !! 😀
Possiblement j’ai 87 valeurs pour ce champ sous forme de code alphanum avec une correspondance Texte dans une autre colonne. Alors incrémenter toutes ces valeurs dans une liste de choix sous List…pffff !!! D’où mon fichier de Mapping Excel.
Tu trouveras en PJ un extrait de ma List SP (en version Excel).
Et pour ton info, je commence à utiliser le Lookup mais n’en suis pas maitre.
CommentID=Ztj1XhrNgA4Ifzo, PostID=OwMnA3HFeAv42u0
Pour le moment, l’utilisateur n’a pas la possibilité de créer d’Activité. Les données ont été travaillées proprement dans la liste SP servant de BDD.
L’utilisateur doit pouvoir consulter les activités (et donc sous-activités) auxquelles il est rattaché pour mettre à jour un statut (A faire/fait/en cours/abandonné…) et apporter ses Pj, ses commentaires, repousser une échéance…
A terme, il pourra créé un enregistrement en complétant et choisissant les différents champs. En ce qui concerne l’Activité, il devra la sélectionner dans un menu déroulant qui a pour source un fichier de mapping Excel.
CommentID=4c434ducXnllueW, PostID=OwMnA3HFeAv42u0