Tableau de comptes
Bonjour à tous,
Voici 3-4 ans, grâce à ce forum, j’ai pu concevoir un tableau Google Sheets pour faire mes comptes mensuels avec une script de liste conditionnelle en fonction du type de dépenses (alimentation: boucherie, épicerie…; impôts: taxe foncière, contravention…)…
Tous les premiers du mois, un autre script m’inclue les opérations récurrentes. Mais ce dernier ne fonctionne plus.
Quelqu’un peut-il m’aider ?
Je vous en remercie d’avance.
Bonjour,
Je veux bien essayer de t'aider.
Mais, au vu de cette présentation laconique, je ne peux pas faire grand-chose...
Cordialement,
Fil.
🤔
Voici le script qui m'avait été créé.
C'est du chinois pour moi.
Je sais simplement que les noms des fichiers, 2023 et Échéancier, sont convenables et n'ont pas subi de modifications.
Merci de votre aide.
function onOpen()
{ var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("2023");// ss.getActiveSheet();
var derl = sheet.getLastRow()+1
var mytoday = sheet.getRange(1, 1).getValue();
var dmaj=sheet.getRange(1,2).getValue();
if (mytoday >=dmaj)
{ ss.toast("Prochaine mise à jour le "+chnDtePls(a,m,j,0));
var sheet2 = ss.getSheetByName("Échéancier");
var nl = sheet2.getLastRow()-1;
var nc = sheet2.getLastColumn()-5;
var values = sheet2.getRange(4, 1, nl, nc).getDisplayValues();
//nombre de lignes
for (i=0;i<=nl;i++)
{ //nombre de colonnes
for (j=0;j<nc;j++)
{ //remplissage de la mise à jour
sheet.getRange(derl+i,1+j).setValue(values[i][j]);
sheet.autoResizeColumn(1);
//Date de la prochaine mise à jour
sheet.getRange(1,2).setValue(chnDtePls(a,m,j,0));
}
}}else{ ss.toast("Aucune mise à jour");} }
//B1 est la date de la dernière mise à jourvar mss = SpreadsheetApp.getActiveSpreadsheet();
var msheet = mss.getSheetByName("2023");// mss.getActiveSheet();
var maj = msheet.getRange('B1').getValue();
var j = maj.getDate();
var m = maj.getMonth();
var a = maj.getFullYear();
// fonction permettant d'ajouter un nombre de jours à aujourdhui()
function chnDtePls(a,m,j,d)
{var dt=new Date(a,m,j-(-d)),ad=dt.getFullYear(),md=dt.getMonth()+2,jd=dt.getDate();
return '01/'+md+'/'+ad}Tu reçois un message t'informant que le script est en échec ?
🤔
Non, mais la mise à jour ne se fait pas.
En revanche, si je créée un nouvelle page - la même mais en enlevant toutes mes opérations -, l'échéancier se met sans problème. Par contre, il écrase ma liste conditionnelle de sous-catégories créée à partir d'une liste de catégories. Je ne peux plus sélectionner de sous-catégories.
Je n'ai pas les compétences pour t'aider sur ce sujet.
Peut-être que Pierre ou Sébastien auront un avis ?
Bonne chance pour la suite.
Cordialement,
Fil.
👍
Bonjour,
Miracle ce matin, mes opérations récurrentes se sont bien mises dans le tableau. Mais ca me supprime le menu déroulant de mes sous-catégories (liste conditionnelle). Ce doit être un problème dans la validation des données mais je ne sais pas comment le régler.