Suppression texte cellule avec un seul clique

bonsoir à tous.

Je suis un novice sur sheet (excel aussi) et je l'utilise à ma façon pour gérer mes comptes.

J'ai donc un petit tableau sheet très simple composé de 2 colonnes nommées A et B

A étant simplement le sujet (exemple : facture electricité) et B le montant de cette facture.

Ma question :

Est-il possible d'avoir sur la colonne C une case à cocher ? (simple clique souris par exemple) et dès que cette dernière est cochée, elle supprime le texte de la colonne A et B ?

Je vous remercie par avance pour votre aide, car j'ai beau cherché sur internet, j'ai trouvé une fonction SUBSTITUTE mais je ne maitrise pas assez ...

Bonne soirée

Bonjour,

pourquoi vouloir supprimer ?

une solution est bien de mettre une case à cocher en colonne C, dès qu'elle est cochée (en un clic) la cellule passe à true, donc si tu filtres sur colonne C sur les valeurs false, tu n'afficheras plus sur l'écran cette ligne (mais tu pourras la conserver pour des calculs futurs, cela peut être utile pour suivre les dépenses).

sinon, il faut faire un script, et dans ce cas mets un lien vers une copie de ton projet

Bonjour,

Une solution serait de :

1 - Créer en colonne C une validation de données > Critères > Case à cocher

2 - Ajouter ce script :

function onOpen(){ 

 SpreadsheetApp.getUi() 

 .createMenu("Gestion") 

 .addItem("Lancer l'exportation", "EFFACER") 

 .addToUi();}

function EFFACER() { 

 var spreadsheet = SpreadsheetApp.getActive(); 

 spreadsheet.getRange('A2:B2').activate(); 

 var currentCell = spreadsheet.getCurrentCell(); spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.DOWN).activate(); currentCell.activateAsCurrentCell(); 

 currentCell = spreadsheet.getCurrentCell(); spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.DOWN).activate(); currentCell.activateAsCurrentCell(); 

 spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});};

3- Recharger la page, un nouveau menu dans le bandeau s'affiche avec l'option EFFACER

4- Trier les cases qu' on veut supprimer et appuyer sur EFFACER

Bonjour Smaily,

Merci d'utiliser le bouton "Code" pour insérer tes codes et tes formules

Avec ton code, cela donne :

function onOpen(){ 
 SpreadsheetApp.getUi() 
 .createMenu("Gestion") 
 .addItem("Lancer l'exportation", "EFFACER") 
 .addToUi();}

function EFFACER() { 
 var spreadsheet = SpreadsheetApp.getActive(); 
 spreadsheet.getRange('A2:B2').activate(); 
 var currentCell = spreadsheet.getCurrentCell(); spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.DOWN).activate(); currentCell.activateAsCurrentCell(); 
 currentCell = spreadsheet.getCurrentCell(); spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.DOWN).activate(); currentCell.activateAsCurrentCell(); 
 spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});};
test

Ah oui en effet, je n'avais pas vu

Merci

Merci pour votre aide !

Smaily, j'ai pu créér les cases à cocher ainsi qu'ajouter ton script et j'ai bien le nouveau menu,

mais en cliquant dessus il me supprime la totalité des cellules et non celle de la ligne cochée, une idée pour faire le lien? merci en tout cas

ci joint le fichier exporté en excel depuis sheet (c'est ok?)

Bonjour achkin

ci joint le fichier exporté en excel depuis sheet (c'est ok?)

pourquoi passer en excel ? mets le lien vers une copie de ton projet https://www.sheets-pratique.com/fr/cours/partage, si ce n'est pas possible mets le dans un fichier texte que tu postes

Bonjour,

Vous pouvez essayer ça en remplaçant "Nom feuille" par le nom de la votre :

function onOpen(){
  SpreadsheetApp.getUi()
  .createMenu("OPTIONS")
  .addItem("EFFACER", "eff")
  .addToUi();
}

function eff() {
  var sheetName = "Nom feuille"; 

  var Nom feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  var values = Nom feuille.getRange('C1:C' + Nomfeuille.getLastRow()).getValues();
  for (var i = values.length - 1; i >= 0; i--) {
    if (values[i][0]) Nom feuille.deleteRow(i + 1);
  }
}

Bonsoir à tous :)

En effet, je ne savais pas le partager ... voilà le lien de partage :

https://docs.google.com/spreadsheets/d/1QhrCYnj5ev-4Pe0VOtorp3QAPDrVfL7FaXAeDgjv6sk/edit?usp=sharing

Je viens de mettre à jour le script de Smaily, mais je te laisse jeter un oeil car il supprime maintenant les cases situées sous la ligne que je coche (mais plus celle située au dessus) on avance c'est top ! merci bien

Merci au travailleur de l'ombre (Smaily je présume ? ) car tout est ok sur le fichier ! et je vous remercie pour cette aide rapide !

du coup je me posais la question sur ce fichier, il supprime la ligne entière (comme ma demande l'indiquait)

mais est il possible de ne supprimer que la colonne A et B de la ligne 1 et de conserver les données présentes en colonnes D et E de cette même ligne ? (je vous embête peut être lol ?) !

Merci en tout cas ^^

https://docs.google.com/spreadsheets/d/1QhrCYnj5ev-4Pe0VOtorp3QAPDrVfL7FaXAeDgjv6sk/edit?usp=sharing

Parfait heureux de vous avoir aidé.

Pourquoi pas refaire un post pour répondre à votre question et à avoir une réponse rapide. C'est tout à fait possible mais je ne suis pas disponible ces jours à venir...

Rechercher des sujets similaires à "suppression texte seul clique"