Script : remplacer le point décimal par une virgule.

234 13

Un article a déjà été consacré à ce sujet sur ce blog : séparateur de millier et de décimale mais  force et 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 :

 

 

Notez cette information
[Total: 1 Average: 4]

13 comments

  1. 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. Bonjour,

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

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

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

  2. 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. Bonjour, Amélie
      il faut être dans le doc pour utiliser ce script et non dans l’éditeur de script
      Salutations

    2. Quel est le code employé dans le Gsheet ?

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

  3. Bonjour,
    Je n’arrive pas a faire fonctionner le script
    erreur ligne 29,fichier “dot”

    1. Qui d’autres n’y arrivent pas ?

  4. 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. 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!!

  6. 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. petite erreur de ma part. on Remplace

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

      Voila 🙂

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

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.

Share This

Share This

Share this post with your friends!