Script : remplacer le point décimal par une virgule

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

  3. 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. 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 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

  6. 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( » . « ,  » , « );

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

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