Réponses céées sur le Forum

Page 14 sur 31
  • Voici un flux qui répond entièrement à la question (enfin, j’espère 😉 )

    J’ai laissé tomber les variables varBAT1 et varBAT2 qui ne servent pas vraiment (sauf pour clarifier le raisonnement). J’ai ajouté une variable Statut qui servira à déterminer si on a trouvé ou non une ligne avec la date recherchée.

    Tout d’abord, on passe en revue les lignes jusqu’à arriver sur une ligne vide (théoriquement, si une ligne avec la date du jour existe déjà, ce sera la dernière). Je n’ai pas trouvé comment aller directement à la dernière ligne. Par défaut, la limite est à 60 mais on peut la mettre à 1 pour gagner du temps.

    Pour chaque ligne, on compare les 10 premiers caractères de la date du jour avec ceux de la colonne Date J-1 (car elles sont en format ISO9801 qui inclut l’heure). Si c’est égal, on met à jour la ligne et on passe le statut à OK.

    Sinon, on crée une nouvelle ligne avec les infos de BAT1 ou BAT2.

    Il y a sûrement une méthode plus élégante 😄

    CommentID=eJrOoKWcT3uJuDw, PostID=rejjtrcwiL7Yj7j

  • Pour déterminer la formule correcte pour extraire le nombre d’occupants dans les variables varBAT1 ou varBAT2, je te conseille de commencer par mettre d’abord que le corps du message dans la variable et de visualiser son contenu. Ca te donnera les indications pour paramétrer la fonction Split.

    CommentID=cb07NguJf7CsGPy, PostID=rejjtrcwiL7Yj7j

  • Bonjour ABru

    1. Le fichier excel doit contenir un tableau et être placé dans OneDrive

    2. La syntaxe du mail déterminera comment le flux va trouver les infos utiles (date, nombre d’occupants du BAT1, nombre d’occupants du BAT2)

    Dans mon exemple, le mail a pour objet Occupants BAT1 ou Occupants BAT2.

    Le corps du mail est simplement Occupants : X

    Voici le flux global

    Et le détail

    Il faudra bien sûr adapter cet exemple à ta situation.

    Attention, c’est un premier jet. Pour l’instant, ce flux crée une nouvelle ligne à chaque fois. il ne répond pas encore à ton souhait de remplir une ligne existante.

    CommentID=ESHSh92supfg881, PostID=rejjtrcwiL7Yj7j

  • Geoffroy

    Membre
    3 octobre 2023 à 19h41 en réponse à: Soumettre un formulaire que si la PJ est en format pdf

    Merci DavidZed ça marche impeccable avec DataCardValue_PJ.Attachments.Name 😊

    CommentID=ePKYP3ZmzZTi1aj, PostID=MxQEgnE4hpw2bPD

  • Geoffroy

    Membre
    29 septembre 2023 à 13h47 en réponse à: Contrôle de champs "texte" pour plaque d'immatriculation

    “Deux choses sont infinies : l’Univers et le nombre de façons de remplir un champ texte. Mais, en ce qui concerne l’Univers, je n’en ai pas encore acquis la certitude absolue.”

    Albert E.

    CommentID=h483eKSMhQKHTUt, PostID=erpIzqrXOw59kfW

  • Geoffroy

    Membre
    29 septembre 2023 à 13h20 en réponse à: Contrôle de champs "texte" pour plaque d'immatriculation

    Une autre option serait d’imposer une saisie sous la forme ab123cd et de faire le formatage après (mise en majuscule et traits d’union). Ca suppose de limiter le nombre de caractères à 7 dans le TextInput.

    Si tu n’es pas sûr que l’utilisateur va respecter ce format (2 lettres, 3 chiffres, 2 lettres), il faudra vérifier pour chaque caractère s’il répond au masque demandé et par exemple mettre le fond du TextInput en rouge si ce n’est pas bon.

    CommentID=Mhd8KDY1ArSpayt, PostID=erpIzqrXOw59kfW

    • Geoffroy

      Membre
      29 septembre 2023 à 15h37 en réponse à: Contrôle de champs "texte" pour plaque d'immatriculation

      En fait, on peut simplifier le Fill en passant d’abord tout en majuscules dans les formules nommées

      nfPlaque1=With({inputString:Upper(Mid(plaque.Text;1;1))};LookUp(ForAll(Sequence(255);{Num:Value;Character:Char(Value)});Character=inputString).Num);;

      If(nfPlaque1>=65&&nfPlaque1<=90&&nfPlaque2>=65&&nfPlaque2<=90&&nfPlaque3>=48&&nfPlaque3<=57&&nfPlaque4>=48&&nfPlaque4<=57&&nfPlaque5>=48&&nfPlaque5<=57&&nfPlaque6>=65&&nfPlaque6<=90&&nfPlaque7>=65&&nfPlaque7<=90&&Len(plaque.Text)=7;RGBA(0;0;0;0);Color.Red)

      SubCommentID=QQres3USsd46oFC, CommentID=Mhd8KDY1ArSpayt, PostID=erpIzqrXOw59kfW

    • Geoffroy

      Membre
      29 septembre 2023 à 14h39 en réponse à: Contrôle de champs "texte" pour plaque d'immatriculation

      J’ai testé une solution avec des formules nommées (mon TextInput s’appelle plaque)

      nfPlaque1=With({inputString:Mid(plaque.Text;1;1)};LookUp(ForAll(Sequence(255);{Num:Value;Character:Char(Value)});Character=inputString).Num);;nnfPlaque2=With({inputString:Mid(plaque.Text;2;1)};LookUp(ForAll(Sequence(255);{Num:Value;Character:Char(Value)});Character=inputString).Num);;

      Idem pour nfPlaque3 jusqu’à nfPlaque7

      Ensuite, dans le Fill du TextInput, je mets ça

      If(((nfPlaque1>=97&&nfPlaque1<=122)||(nfPlaque1>=65&&nfPlaque1<=90))&&((nfPlaque2>=97&&nfPlaque2<=122)||(nfPlaque2>=65&&nfPlaque2<=90))&&((nfPlaque3>=48&&nfPlaque3<=57))&&((nfPlaque4>=48&&nfPlaque4<=57))&&((nfPlaque5>=48&&nfPlaque5<=57))&&((nfPlaque6>=97&&nfPlaque6<=122)||(nfPlaque6>=65&&nfPlaque6<=90))&&((nfPlaque7>=97&&nfPlaque7<=122)||(nfPlaque7>=65&&nfPlaque7<=90))&&Len(plaque.Text)=7;RGBA(0;0;0;0);Color.Red)

      SubCommentID=Cjh269503hSZSmC, CommentID=Mhd8KDY1ArSpayt, PostID=erpIzqrXOw59kfW

  • Geoffroy

    Membre
    29 septembre 2023 à 13h08 en réponse à: Contrôle de champs "texte" pour plaque d'immatriculation

    Bonjour Jean

    Je pense que le plus simple serait de découper le champ de saisie en 3 parties pour pouvoir vérifier si c’est du texte ou des chiffres. Ensuite, tu concatènes les 3 champs avec les traits d’union pour faire le résultat final.

    CommentID=do6ldy1BR2aiwow, PostID=erpIzqrXOw59kfW

  • Geoffroy

    Membre
    22 septembre 2023 à 11h12 en réponse à: erreur formule input box

    Vu que l’expression LookUp(Sort(BaseTBF;’Créé le’;SortOrder.Descending);NTBF=ComboBox_NTBF.Selected.Nom;Etat_TBF)=”cip” renvoie vrai ou faux, tu peux l’affecter directement à ta variable var_parf_impo

    Set(var_parf_impo; !LookUp(Sort(BaseTBF;'Créé le'; SortOrder.Descending); NTBF=ComboBox_NTBF.Selected.Nom;Etat_TBF)="cip")

    CommentID=GZgZztAjYMz8JQD, PostID=JBDPUn2SRf8zDHi

  • Geoffroy

    Membre
    21 septembre 2023 à 15h00 en réponse à: erreur formule input box

    Bonjour Fred Evellin

    Qu’est-ce qu’il y a dans ton combobox ?

    CommentID=o8s5bWPn0d2BVGn, PostID=JBDPUn2SRf8zDHi

  • Geoffroy

    Membre
    19 septembre 2023 à 5h16 en réponse à: Conversion tableau html vers pdf

    Merci R3dKap

    Je pense que j’aurai l’occasion d’appliquer ta méthode (géniale) sur un projet mais ici, le but au départ était simplement de gagner une ligne pour que le pdf tienne sur une page.

    J’ai finalement trouvé une astuce plus simple : mettre font-size à 94% au lieu de 95% 😉

    CommentID=wrg5j7jJUb5rhFb, PostID=nv9RHzEZntjmOkm

  • Geoffroy

    Membre
    14 septembre 2023 à 16h18 en réponse à: erreur formule input box

    On peut même simplifier en

    Set(var_parf_impo;!IsBlank(LookUp(Sort(BaseTBF;'Créé le';SortOrder.Descending); NTBF = ComboBox_NTBF.Selected.Nom && Etat_TBF = "cip"))

    Sinon, je me demandais à quoi servait le Sort ?

    CommentID=mSCcHg4ugyIrC8F, PostID=JBDPUn2SRf8zDHi

  • Geoffroy

    Membre
    13 septembre 2023 à 12h30 en réponse à: Compter le nombre d'enregistrement

    Bonjour Matthias

    Tout d’abord, le CountRows peut amener certains problèmes (cf le post ci-joint).

    Pour la condition supplémentaire, faut-il que la période soit dynamique ou fixe (de mars à mars) ? La liste SP comprend-elle les dates d’interventions prévues ou seulement celles réalisées ?

    CommentID=D2RjyQVWqivJtfA, PostID=Dsmrs9uGq8StUFF

  • Geoffroy

    Membre
    11 septembre 2023 à 15h01 en réponse à: Problème de doublon résultat de recherche

    C’est bizarre qu’on en voit plus dans l’appli que dans la liste.

    Quelle est la formule de filtre dans l’appli ?

    SubCommentID=FK9oZRYpidisLIJ, CommentID=5wdzX8DS2z498Uw, PostID=Fow5AqagZJdfzCV

Page 14 sur 31