Suppression ligne en fonction d'un critère

Bonjour,

Je souhaiterais pouvoir supprimer les lignes d'une plage nommée sous condition.

Mon fichier comportera 52 onglets identique (1 par semaine) avec une liste du personnel qui sera mise à jour.

Dans l'exemple, je souhaiterais pouvoir supprimer la ligne qui indique en colonne D le critère "FDM"

Merci pour votre aide

PS : Sinon je récupère la liste du personnel d'un autre fichier, est-il possible de ne pas mettre à jour la liste d'un onglet lorsque la date est dépassée ?

> liste du personnel de la semaine 49 ne doit plus changer dès que l'on passe à la semaine 50 ?

https://docs.google.com/spreadsheets/d/1C6y-w8xsa4F6ko1L-TIeAVWQIx0CZ5Y1Ao67GBpWztQ/edit?usp=sharing

Bonjour,

Pour répondre à ta première question, si tu ulilises IMPORTRANGE pour avoir ta liste du personnel, il suffit de l'associer à QUERY et de mettre un critère d'exclusion de "FDM"...

Cordialement,

Fil.

Bonjour Filoche,

Tu m'as déjà bien aidé pour l'intégration de ma liste du personnel dans un précédent post.

https://forum.excel-pratique.com/sheets/fonction-query-et-tableau-188265

J'ai par contre besoin d'une semaine à l'autre de retirer le personnel en FDM.

Je cherche donc un script qui me permette de retirer les lignes avec le critère FDM en colonne D.

Merci.

Bonjour,

Personnellement, je ne fais un script que quand je ne peux pas faire autrement.

Les scripts sont moins réactifs que les formules; je te propose donc une solution sans script (avec une case à cocher) :

=SI(D1<> FAUX;query('24 TEST'!A2:I;"select * where not D = 'FDM' ";1);query('24 TEST'!A2:I))

https://docs.google.com/spreadsheets/d/1PfEXGoEuqOYLaA8h4EA287pSf86TPJooHGeF_Mr4sQE/edit?usp=sharing

Cordialement,

Fil.


Merci Filoche pour cette piste, je vais voir dans mon fichier si cela peut effectivement me convenir car j'étais vraiment parti sur la suppression des lignes.

Par contre je ne vois pas ou tu as placé la formule ?

En A2

Cette solution n'est malheureusement pas adaptée.

Il faut vraiment que je supprime les lignes avec le critère FDM.

Alors un script :

function supLignes() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var feuille = ss.getSheetByName('24 TEST');
  var col = feuille.getRange('D:D');
  var data = col.getValues();
  for(var i=data.length-1;i>=0;i--)
    if(data[0,i]=='FDM')
      feuille.deleteRow(i+1);
};
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Script')
.addItem('Suppresssion lignes', 'supLignes')
.addToUi();
};

Bon dimanche,

Fil.


Je vais essayer ce script.

Par contre comme je vais avoir 52 onglets (1 par semaine), est il possible de modifier cette ligne afin que le script fonctionne dans l'onglet ou je le lance.

var feuille = ss.getSheetByName('24 TEST');

En tout cas, je te remercie pour ton aide.

Bon dimanche aussi à toi ...

function supLignes() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
    var col = ss.getRange('D:D');
  var data = col.getValues();
  for(var i=data.length-1;i>=0;i--)
    if(data[0,i]=='FDM')
      ss.deleteRow(i+1);
};
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Script')
.addItem('Suppresssion lignes', 'supLignes')
.addToUi();
};

Merci Filoche ...

Est-il possible de figer une liste ou plage nommée par rapport à une date.

Je m'explique, si j'indique une date X, serait-il possible que la liste ne se modifie plus dès que la date est dépassée même s'il s'agit d'un QUERY ?

Bonjour,

Cela devrait être possible en utilisant un simple test IF ...

Après si tu fournis un tableau modélisé de ce que tu recherches, on peut voir comment c'est applicable !

Bonne journée,

Fil.

Tu peux également mettre dans ton QUERY une clause du genre :

WHERE B < DATE 'yyyy-MM-dd'

https://www.sheets-pratique.com/fr/query/date-heure


Rechercher des sujets similaires à "suppression ligne fonction critere"