Date du jour -1 comment formulé et où la placer
Bonjour amis du forum,
je me suis rendu compte hier qu'il y a un soucis avec le fichier: la date inscrite en "A1" est la date du jour ok c'est ce qui avait été demandé, mais il faudrait que pour la sélection de la colonne ce soit la date du jour "-1jour" .
Où dois je mettre le -1 dans une de ces formules.
function onOpen() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var date = Utilities.formatDate(new Date(), "GMT", "dd/MM/yyyy"); // recherche la date
spreadsheet.getRange("A1").setValue(date); // affiche en "A1" la date du jour
// ici il y a un menu
.addToUi();
var fonction = 'D' + (+rechercheDate() - 5)
this[fonction]()
}; // code menu Steelson https://www.sheets-pratique.com/fr/cours
// ***************************************************************************************************
function onEdit(e) {
Browser.msgBox(rechercheDate())// test
if (e.range.getColumn() == rechercheDate() && e.range.getRow() >= 5 && e.range.getRow() <= 18) {
var fonction = 'D' + (+e.range.getColumn() - 5)
this[fonction]()
};
} // code Steelson https://www.sheets-pratique.com/fr/cours
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// *************************** Recherche d'après une date ******************************************************************
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// recherche d'après une date
function DateRecherche() {
var fonction = 'D' + (+rechercheDate() - 5)
this[fonction]()
const sh = SpreadsheetApp.getActiveSheet();
} // code Steelson https://www.sheets-pratique.com/fr/cours
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// *************************** Fin recherche *******************************************************************************
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function rechercheDate() {
const sh = SpreadsheetApp.getActiveSheet();
const d = sh.getRange('A1').getValue().valueOf()
let col = 0
sh.getRange('F3:P3').getValues().flat().forEach((x, i) => {
if (x.valueOf() <= d) col = i
})
return (col + 5 + 2)
} // code Steelson https://www.sheets-pratique.com/fr/coursMerci d'avance à tous
mbell
si les dates sont continues, alors essaie ceci, avec return (col + 5 + 1) au lieu de return (col + 5 + 2)
function rechercheDate() {
const sh = SpreadsheetApp.getActiveSheet();
const d = sh.getRange('A1').getValue().valueOf()
let col = 0
sh.getRange('F3:P3').getValues().flat().forEach((x, i) => {
if (x.valueOf() <= d) col = i
})
return (col + 5 + 1)
}Bonjour Steelson,
Non cela ne fonctionne pas car en mettant le 12/7 il reste sur le 7/7 alors que là il devrait passer au 15/9 en mettant " return (col + 5 + 1)" et en remettant +2 la colonne est bien mise.
juste en changeant le +1 en +2
par contre en mettant la date du 6/7 c'est ok
et le lendemain on passe à la colonne suivante alors que je souhaiterais que la colonne soit accessible jusqu'au 7 inclus
sur Recherche date dans une ligne (excel-pratique.com) tu avais approuvé le changement, mais je n'avais pas tester sur la date du jour.
Ton aide m'a déjà été très précieuse, donc si tu peux me résoudre ce problème ce serait super Steelson
mbell
comme je n'avais plus ton fichier, j'avais bien dit "si les dates sont continues", or il y a des trous en effet
je refais les essais avec le calendrier que je devrais retrouver à partir de l'ancien post !
si je comprends bien, tu veux afficher la date si elle existe ou la suivante
et avec ceci ?
function rechercheDate() {
const sh = SpreadsheetApp.getActiveSheet();
const d = sh.getRange('A1').getValue().valueOf()
let col = 0
let calend = sh.getRange('F3:P3').getValues().flat()
for (i = 0; i < calend.length; i++) {
if (calend[i].valueOf() >= d) {
col = i;
break;
}
}
return (col + 5 + 1)
}pas réellement testé car je n'ai pas repris sur mon fichier de test les fameuses fonctions Dx
re
Mais tu as raison si j'avais les formules pour un modules "Dx" j'essayerais de les adapter pour les autres.
Pour le scripts
Merci Steelson.
mbell