Probleme fonction app script

Résolu/Fermé
lwdu76 Messages postés 68 Date d'inscription samedi 16 janvier 2021 Statut Membre Dernière intervention 8 novembre 2022 - Modifié le 11 juil. 2022 à 16:29
lwdu76 Messages postés 68 Date d'inscription samedi 16 janvier 2021 Statut Membre Dernière intervention 8 novembre 2022 - 1 sept. 2022 à 17:21

bonjour,

j'essaie de faire respecter le format d'entrée de 4 nombre dans la cellule mais j'ai l'impression que ca ne marche pas 

j'ai réalisé ceci

function Nombre () { 

  var feuille = SpreadsheetApp.getActiveSpreadsheet ()

                              .getActiveSheet (); 

  var format = /[0-9]/; 

  const longueur = 4;

  const regex = new RegExp (); 

  var chiffre = format.test (); 

  if ((chiffre > 0 | chiffre <= longueur) == true) { 

    myvar = feuille.getRange ('A4')

                   .getValue (); 

    Logger.log (regex.test ()); 

  } else { 

    Browser.msgBox("vous devez respecter le format");

  }

};

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
11 juil. 2022 à 18:10

Bonjour

La méthode test() vérifie s'il y a une correspondance entre un texte et une expression rationnelle. Elle retourne true en cas de succès et false dans le cas contraire.

Donc ta variable chiffre est juste un booleen ..

De plus, tu as oublié un paramètre lors de l'appel de la méthode test

Le nombre à vérifier.....

Voici un exemple d'utilisation

const chaine = "coucou le monde !";
const resultat = /^coucou/.test(chaine);

1
lwdu76 Messages postés 68 Date d'inscription samedi 16 janvier 2021 Statut Membre Dernière intervention 8 novembre 2022
29 août 2022 à 08:54
function NomSource2 () {

  var app = SpreadsheetApp;

  var feuille = app.getActiveSpreadsheet ()
                   .getActiveSheet (); 

  var cellule = feuille.getRange ('G3')
                       .getValue ();
  
  var format = /[a-z] | [A-Z]/; 

  analyse = format.test (cellule);

  Logger.log (analyse);

  if (analyse >= 5 | analyse <= 64) { 

    feuille.getRange ('F3')
           .setValue ("Vrai"); 

  } else { 

    feuille.getRange ('F3')
           .setValue ("Faux");
  }
};

bonjour, 

j'ai un soucis avec ma variable analyse car quand je rentre moins de 5 caractères il retourne pas la bonne valeur quand je fais un logger dessus il me dis qu'elle est tout le temps fausse

merci pour votre aide

cordialement 

0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > lwdu76 Messages postés 68 Date d'inscription samedi 16 janvier 2021 Statut Membre Dernière intervention 8 novembre 2022
29 août 2022 à 10:17

Peux tu expliquer exactement ce que tu veux vérifier avec ta regex ?

Elle me semble fausse...

De plus, comme je te l'ai déjà dit, la fonction regex.test retourne un BOOLEEN  .. mais ne te permettra pas de vérifier la taille de ta chaine ( enfin.. si .. mais avec une regex mieux faite )

Donc :

Qu'est-ce que tu entres comme valeur... et qu'obtiens tu ? Et que penses tu devoir obtenir ?

PS: Par exemple, pour tester si une chaine est uniquement un text..  et ayant au minimum 5 caractères et un max de 64, tu pourrais utiliser une regex du genre

[a-z|A-Z]{5,64}

.

0
lwdu76 Messages postés 68 Date d'inscription samedi 16 janvier 2021 Statut Membre Dernière intervention 8 novembre 2022 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
Modifié le 29 août 2022 à 17:16

bonjour, 

je voulais savoir je dois faire un format horaire comme 21h00 j'ai ecrit ceci

var format = /[0-9]{2}\/h\/[0-9]{2}/;
0
lwdu76 Messages postés 68 Date d'inscription samedi 16 janvier 2021 Statut Membre Dernière intervention 8 novembre 2022
29 août 2022 à 08:55

:)

0
lwdu76 Messages postés 68 Date d'inscription samedi 16 janvier 2021 Statut Membre Dernière intervention 8 novembre 2022
30 août 2022 à 10:25

Bonjour,

J'avais une question je cherche à tester si mes 4 variable a1, ..., a4 ne sont pas fausse 

Mais je ne sais pas comment faire, j'avais pensé à faire un switch 

Car mes variables sont définis comme var

cellule1 = feuille.getRange ('B1´).getValue ();

Idem jusqu'à

​

var cellule4 = ....

​

Puis

analyse1 = format.test (cellule1) ... jusqu'à analyse4 

Après c'est pour le test de tout les variables analyse1, ... , analyse4 

0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
30 août 2022 à 11:10

Je ne comprend pas ta question...

De plus, vu qu'il s'agit d'une nouvelle question .. il aurait été bien de cloturer cette discussion puis d'en ouvrir une nouvelle propre à ce "nouveau" problème.

0
lwdu76 Messages postés 68 Date d'inscription samedi 16 janvier 2021 Statut Membre Dernière intervention 8 novembre 2022 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
30 août 2022 à 16:06

D'accord 

0
lwdu76 Messages postés 68 Date d'inscription samedi 16 janvier 2021 Statut Membre Dernière intervention 8 novembre 2022 > lwdu76 Messages postés 68 Date d'inscription samedi 16 janvier 2021 Statut Membre Dernière intervention 8 novembre 2022
1 sept. 2022 à 17:21

probleme resolu

0