Probleme fonction app script

Résolu
lwdu76 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   -  
lwdu76 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   -

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 38483 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 

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 65 Date d'inscription   Statut Membre Dernière intervention  
 
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 38483 Date d'inscription   Statut Modérateur Dernière intervention   4 746 > lwdu76 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention  
 

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 65 Date d'inscription   Statut Membre Dernière intervention   > jordane45 Messages postés 38483 Date d'inscription   Statut Modérateur Dernière intervention  
 

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 65 Date d'inscription   Statut Membre Dernière intervention  
 

:)

0
lwdu76 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention  
 

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 38483 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 

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 65 Date d'inscription   Statut Membre Dernière intervention   > jordane45 Messages postés 38483 Date d'inscription   Statut Modérateur Dernière intervention  
 

D'accord 

0
lwdu76 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   > lwdu76 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention  
 

probleme resolu

0