Script : remplacer le point décimal par une virgule

499 14

Un article a déjà été consacré à ce sujet sur ce blog : séparateur de millier et de décimale mais force est de constater qu’il y a toujours une demande pour une automatisation. Alors j’ai préparé un petit script pour palier à ce manque dans Google Sheet.

Voici le script pour remplacer le point décimal par une virgule : (lien vers le script)

function onEdit(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var Sheet = ss.getActiveSheet()
  var Rg = Sheet.getActiveCell()
  var virg = e.value;
  if (isNaN(virg)){}else{
    var res = virg.replace(".", ",");
    Rg.setValue(res);
    // ss.toast(res)
  }
}

Obtenir le même résultat mais dans une plage déterminée, ici de B4:B200

function onEdit(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet(); 
  var Sheet = ss.getActiveSheet();
  var Rg = Sheet.getActiveCell();
  var zone = Sheet.getRange(4, 2, 200, 1); 
  var pl = zone.getRow();
  var pc = zone.getColumn();
  var maxr=zone.getNumRows(); 
  var apl = Rg.getRow();
  var apc = Rg.getColumn();
  var mmaxr =Rg.getRow();
  if ((apl>=pl)&&(apc===pc)&&(mmaxr<=maxr)){
    var virg = e.value;
    if (isNaN(virg)){}else{ 
      var res = virg.replace(".", ",");
      Rg.setValue(res)
    }
  }
}

N’oubliez pas de valider les autorisations demandées :

Si vous avez trouvé une faute d’orthographe, veuillez nous en informer en sélectionnant le texte en question et en appuyant sur Ctrl + Entrée .

14 commentaires

  1. Avatar

    Bonjour,

    c’est exactement le script que je cherchais, mais cela ne fonctionne pas : pas de bug….mais le script s’exécute et mes points restent des points 🙁

    j’ai pourtant bien mis des simples guillemets, comme indiqué dans les commentaires.

  2. Avatar

    pour faire fonctionner le script vous n’avez qu’à remplacer
    var res = virg.replace(« . », « , »);
    par
    var res = virg.replace(« . », « , »);

    dans l’éditeur de script et le tour est joué. pour ma part ça fonctionner.

    1. Avatar

      petite erreur de ma part. on Remplace

      var res = virg.replace(« . », « , »);
      par
      var res = virg.replace(« . », « , »);

      Voila 🙂

      1. Avatar

        Ok c’est le site qui me bloque .. on remplace les «» par des guillemet \ « 

  3. Avatar

    Bonjour,

    j’ai fait le script mais j’ai cette erreur :

    TypeError: Impossible de lire la propriété « value » depuis undefined. (ligne 5, fichier « Code »)

    Pouvez vous m’aider,

    sinon super!!

  4. Avatar

    Bonjour,

    Je ne parviens pas non plus à faire fonctionner votre script. Peut-être qu’il serait plus simple de soumettre votre script en tant que module complémentaire ?
    Le module « PointVirgule » est le seul qui remplissait cette fonction mais il provoque un bug qui compense sabote son utilité.

  5. Avatar

    Bonjour,
    Je n’arrive pas a faire fonctionner le script
    erreur ligne 29,fichier « dot »

    1. Thierry

      Qui d’autres n’y arrivent pas ?

  6. Avatar

    Bonjour,

    J’ai copié ce script mais j’ai une erreur qui apparaît :

    [17-07-05 15:35:24:070 CEST] Démarrage de l’exécution
    [17-07-05 15:35:24:076 CEST] SpreadsheetApp.getActiveSpreadsheet() [0 secondes]
    [17-07-05 15:35:24:080 CEST] Échec de l’exécution du script : TypeError: Impossible d’appeler la méthode « getActiveSheet » de null. (ligne 3, fichier « Code ») [durée totale d’exécution : 0,001 secondes]

    Pourtant j’ai bien recopié comme noté dans le docs.

    Merci pour votre aide

    1. Avatar

      Bonjour, Amélie
      il faut être dans le doc pour utiliser ce script et non dans l’éditeur de script
      Salutations

    2. Avatar

      Quel est le code employé dans le Gsheet ?

      Les deux fonctionnent mais le second est limité à la plage B4:B200

  7. Avatar

    Bonjour,

    Pour information, lorsque l’on fait un copier coller du script, il y a une erreur a cause des guillemets qui ne sont pas au bon format :

    var res = virg.replace(« . », « , »);
    >>
    var res = virg.replace( » . « ,  » , « );

    1. Avatar

      Bonjour,

      Déjà signalé,
      je remonte l’info à Thierry

      pas très difficile à modifier ;-)) dans le code
      merci

      1. Thierry

        vu je vais corriger cela…
        Il faudrait tout mettre dans un gdoc en effet, je suis d’accord

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Rapport de faute d’orthographe

Le texte suivant sera envoyé à nos rédacteurs :