Macro supprimée aprés enregistrement sur le drive

Bonjour

Comment se fait il que ma macro sur mon fichier google sheets disparait quand le fichier est dans le drive?

Merci pour votre aide

Bonjour

C'est une macro avec des instructions utilisée par Google Sheet ?

Crdlt

Bonjour Dan

Oui il s'agit bien de script pour Google Sheets

J'ai laissé tomber le projet trop de soucis avec Google Sheets et Drive

Crdlt

En principe vous ne devriez pas avoir de problème

J'ai un peu cherché sur la toile et regardez ce lien --> https://www.reddit.com/r/excel/comments/112ahmw/solution_enabling_macros_on_workbooks_from/?tl=fr

Crdlt

Merci pour les renseignements

Cordialement

Je reviens sur le sujet

Dans Apps Script j'ai ces 2 codes

le premier pour faire un tri avec un bouton cela fonctionne

le deuxième ,si je clique sur une des cellules plage D5:D24 elle doit me cumuler dans la cellule -1 autant de fois que je clique sur cette cellule

malheureusement cela ne fonctionne pas

Merci pour l'aide

function TRI() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('A5:G24').activate()
  .sort({column: 1, ascending: false});
};

function onEdit(e) {
  var sheet = e.source.getActiveSheet();
  var range = e.range;

  // Vérifiez si la cellule modifiée est dans la plage D5:D24
  if (sheet.getName() === 'Feuille1' && range.getA1Notation() >= 'D5' && range.getA1Notation() <= 'D24') {
    var currentValue = range.getValue();
    // Si la cellule n'est pas vide et est un nombre, soustrayez 1
    if (typeof currentValue === 'number') {
      range.setValue(currentValue - 1);
    } else {
      // Si la cellule est vide, initialisez-la à -1
      range.setValue(-1);
    }
  }
}

Re

Je ne suis pas encore très utilisateur et connaisseur de googlesheet comparé à d'autres sur ce site mais si vous modifiez ceci

if (typeof currentValue === 'number') {
      range.setValue(currentValue - 1);
    } else {

par

if (typeof currentValue === 'number') {
      var newValue = currentValue - 1;
        range.setValue(newvalue);
    } else {

Ou alors dans votre code remplacer range.getvalue et range.setvalue par activecell.getvalue et activecell.setvalue ?

Bonjour à tous,

Quelques pistes en passant pour t'aider

le deuxième ,si je clique sur une des cellules plage D5:D24 elle doit me cumuler dans la cellule -1 autant de fois que je clique sur cette cellule

Premier problème, onEdit se déclenche quand tu modifies une cellule, pas au clic ... Si tu veux faire ça au clic sans ajouter de boutons, tu peux ajouter une colonne de cases à cocher à côté et cliquer dessus, ça va déclencher onEdit.

range.getA1Notation() >= 'D5' && range.getA1Notation() <= 'D24'

Deuxième problème tu compares des valeurs textes et non des lignes et colonnes (et pour optimiser il vaut mieux éviter d'appeler 2 fois la même méthode, enregistre d'abord le résultat dans une variable). Dans ce cas, vérifie d'abord la colonne puis la ligne.

Pour t'aider pour ces 2 problèmes tu as un exemple ici : https://forum.excel-pratique.com/s/goto/1181756


@Dan : cette suggestion de remplacement ne change rien, c'est juste plus long

Bonjour Dan, Sebastien

Merci pour votre aide je constate qu'il est relativement compliqué de faire avec GoogleSheets ,les mêmes fichiers

qu'avec excel et le vba.

Je ferme le sujet

Cordialement

Rechercher des sujets similaires à "macro supprimee enregistrement drive"