Forcer une tva sur la saisie

Bonjour,

Pouvez-vous me dire s'il est possible via un script de forcer par exemple 20 % sur une colonne ?

Par exemple si un chiffre est saisi en A1 je souhaite qu'une tva soit automatiquement calculer.

Merci d'avance pour vos retour.

Bonjour,

En A2 entrer =SI(A1<>"";A1*1,2;"") ?

Bonjour,

Merci pour votre retour, cela fonctionne par contre j'aurais voulu éviter une nouvelle colonne, je pense que cela n'est possible que avec un script.

Si vous voulez changer la valeur DANS LA CELLULE modifiée (càd en A1 vous entrez "10" et ca vous ressort "12"), alors oui il faut un script.

Que préférez-vous : que le script vous retourne la valeur brutte (ie. 12) ou bien une formule du type "=valeur_entrée * 1,2" ?

Bon, les codes étant similaires voici une proposition : supprimez la ligne que vous ne voulez pas utiliser.

function onEdit(e) {
  const editedRng = e.range;
  if (editedRng.getColumn() = 1) {
    const inputVal = editedRng.getValue()
    // solution 1
    editedRng.setValue(inputVal*1,2)
    // solution 2
    editedRng.setFormula("=${inputVal}*1,2")
  }
}

Bonjour,

Merci pour votre réponse.

Lorsque je colle le script j'ai cette erreur :

TypeError: Cannot read properties of undefined (reading 'range')onEdit@ Code.gs:2

function onEdit(e) {

 const editedRng = e.range;

 if (editedRng.getColumn() = 1) {

 const inputVal = editedRng.getValue()

 editedRng.setFormula("=${inputVal}*1,2")

 }

 }

J'ai repris le code ici :

Event Objects | Apps Script | Google for Developers

Essayez de remplacer tous les "const" par "var". Je ne sais pas sur quelle documentation j'étais la 1e fois mais cela me semblait étrange.

Ah et ajoutez les ";" à la fin de certaines lignes, je les ai oubliés

J'ai la même erreur avec ce code :

function onEdit(e) {

var editedRng = e.range;

if (editedRng.getColumn() = 1) {

var inputVal = editedRng.getValue();

editedRng.setValue(inputVal*1,2);

}

}

En regardant en ligne TypeError: Cannot read property 'range' of undefined - Google Docs Editors Community il semble que vous essayez de lancer le code depuis l'éditeur de code.

Comme vous l'avez demandé il s'agit d'un code de type "event", càd qu'il se déclenche AUTOMATIQUEMENT lors de la saisie de valeurs dans la plage définie (ici colonne A). Vous ne pouvez pas l'exécuter depuis l'éditeur. Sauvegardez le et essayez de rentrer une valeur en A1 pour le tester.

Je viens de faire le test en créant un déclencheur, il ne se passe rien.

Je renseigne 10 en A1 et le chiffre reste 10 il n'est pas multiplié par 1.2.

La je ne comprend pas.

Voici l'erreur du déclencheur :

ErreurReferenceError: Invalid left-hand side in assignment
at onEdit(test:3:17)

Excusez moi, en voulant aller trop vite je vous ai fait perdre du temps.

Voici le code testé et corrigé :

function onEdit(e) {
  var editedRng = e.range;

  if (editedRng.getColumn() == 1) {
    var inputVal = editedRng.getValue();
    editedRng.setFormula('='+inputVal+'*1,2');
  }
}

Pensez à bien sauvegarder avant de tester.

Génial merci beaucoup pour le temps accordé cela fonctionne très bien.

J'ai juste une dernière question si je veux reporter ce script sur d'autre colonne comment je dois faire ?

J'ai essayé une virgule avec les autres numéros de colonnes mais du coup le script s'applique sur toute la feuille.....

Re,

Vous pouvez faire comme ceci

function onEdit(e) {
  var editedRng = e.range;

  var colonnes = [1,2,5,7];
  if (colonnes.indexOf(editedRng.getColumn()) > -1) {
    var inputVal = editedRng.getValue();
    editedRng.setFormula('='+inputVal+'*1,2');
  }
}

Et vous rentrez dans la var colonnes les numéros de colonnes valables.

The Array method indexOf() in Apps Script (spreadsheet.dev)

Génial vraiment merci beaucoup.

Et si je veux en plus sélectionner une feuille je dois ajouter un var ' nom de feuille ' ?

Bonjour,

Ca dépend : si ce sont les memes colonnes à traiter qu'importe la feuille, alors le script actuel convient. Sinon oui, il faut ajouter une variable et une condition dans le if, je pense que en reprenant l'exemple tu devrais pouvoir adapter.

Bonjour,

Oui le script est super merci beaucoup.

Rechercher des sujets similaires à "forcer tva saisie"