Tableau annexe avec conditions et l'ordonner

Bonjour,

Toujours en train de travailler sur mon tableur sheets pour mon suivis de stocks, achat, ventes et précommandes, je m'attaque désormais à la section précommande.

Ce que je cherche me parait très compliqué à mettre en place et je ne pense pouvoir le faire avec les fonctions classique du tableur, peut être avec un script mais je n'y connais rien. Voici ce que j'ai et ce que je cherche :

capture d e cran 2022 02 27 a 20 55 58

Ce que je cherche à faire est donc déjà écrit sur la feuille. Sachant qu'a terme le tableau précommande sera amené à avoir une infinité de ligne.

J'aimerais donc que le tableau "arrivée précommande" s'actualise automatiquement chaque jour, car dépendant de la date du jour, mais je ne vois pas du tout par quelle fonction passer ...

Merci d'avance à ceux qui prendront le temps de me lire et essayeront de m'aider

Dans l'idée j'ai fais ca :

capture d e cran 2022 02 27 a 21 55 22

Même si je ne pense pas que cela serait fonctionnel car je ne connais pas du tout le langage du script sheets

Travailler avec des images, c'est impossible, c'est nous demander de tout recopier manuellement afin de faire des tests et proposer une solution approuvée. Il est donc plus que recommandé, voire indispensable, de partager un fichier : voir ici la méthode https://www.sheets-pratique.com/fr/cours/partage. Et cela pemet en plus de connaître tes paramètres régionaux.

Quelques remarques sur le fond quand même :

  • onEdit est une fonction qui s'auto-déclenche seule dès lors qu'on introduit une donnée ... pourquoi pas, mais je ne suis pas sûr que ce soit approprié ici
  • essaie plutôt la fonction query dont tu trouveras ici un excellent tuto https://www.sheets-pratique.com/fr/query

Merci avec la fonction Query j'ai pu obtenir ce que je voulais, voici ce que ca donne : https://docs.google.com/spreadsheets/d/1H4CWozmLNLwmmMo2KNWC7_jCVxgwkDyxM7sZbnwU-FA/edit?usp=sharing

Je m'attaque à la dernière étape de mon onglet "Précommande" avant de finir par les stocks.

Dans mon onglet précommande j'ai comme paiement "Débit immédiat" ou "Débit à l'expédition", ainsi qu'en statut "En attente" ou "Réceptionné".

J'aimerais que si je sélectionnes "Débit immédiat" que cela remplisse également une ligne (la dernière ligne non remplie) de ma feuille "Journal des achats", avec les différentes info nécessaire sur cette feuille.

Et je voudrais également que la meme chose soit faites lorsque pour un produit en "Débit à l'expédition" il reste exactement 3 jours avant la réception, avec la Date de sortie comme date dans mon autre feuille.

Je ne pense pas pouvoir y arriver avec la fonction Query car cette fois ci je veux intégrer ces lignes dans un tableau qui sera rempli manuellement, et que ces lignes intégrer se fassent en dessous de la dernière ligne écrite. Mais je veux en plus de cela que cette écriture soit permanente

Dans mon onglet précommande j'ai comme paiement "Débit immédiat" ou "Débit à l'expédition", ainsi qu'en statut "En attente" ou "Réceptionné".

J'aimerais que si je sélectionnes "Débit immédiat" que cela remplisse également une ligne (la dernière ligne non remplie) de ma feuille "Journal des achats", avec les différentes info nécessaire sur cette feuille.

Une proposition qui reste à travailler de ta part car les colonnes sont différentes entre les 2 feuilles

La partie ajoutée principalement est

    else if( cel.getColumn()==5 && cel.getRow()>=4 && cel.getValue()=='Débit immédiat' ){ 
      var plage = sh.getRange(cel.getRow(),1,1,12)
      var journalAchats = ss.getSheetByName('Journal des achats')
      var copie = journalAchats.getRange('B3').getNextDataCell(SpreadsheetApp.Direction.DOWN).offset(1,0)
      plage.copyTo(copie,SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
    }
function onEdit(event){
  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var sh = event.source.getActiveSheet();
  var cel = event.source.getActiveRange();
  if (sh.getName()=='Précommande'){ 
    if( cel.getColumn()==8 && cel.getRow()>=4 ){ 
      cel.offset(0,-6).setValue(new Date()).setNumberFormat("dd/MM/yyyy");
    }
    else if( cel.getColumn()==5 && cel.getRow()>=4 && cel.getValue()=='Débit immédiat' ){ 
      var plage = sh.getRange(cel.getRow(),1,1,12)
      var journalAchats = ss.getSheetByName('Journal des achats')
      var copie = journalAchats.getRange('B3').getNextDataCell(SpreadsheetApp.Direction.DOWN).offset(1,0)
      plage.copyTo(copie,SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
    }
  }
  else  if (sh.getName()=='Journal des achats' && cel.getColumn()==6 && cel.getRow()>=4 ){ 
    cel.offset(0,-3).setValue(new Date()).setNumberFormat("dd/MM/yyyy");
  }
  else if (sh.getName()=='Journal des ventes' && cel.getColumn()==7 && cel.getRow()>=4 ){ 
    cel.offset(0,-4).setValue(new Date()).setNumberFormat("dd/MM/yyyy");
  }
}

C'est pénible de travailler avec un fichier qui possède des protections, le mieux est de faire un fichier minimal, ouvert et représentatif de ce que tu souhaites.

De toute façon mon but n'est pas de faire mais d'accompagner vers plus d'autonomie.

pas clair !

lorsque pour un produit en "Débit à l'expédition" il reste exactement 3 jours avant la réception, avec la Date de sortie comme date dans mon autre feuille.

quelle est l'unité de temps de la colonne "Temps avant réception" ?

doit-on prendre 'Date de sortie' - 'Temps avant réception' - 3 jours ?

Rechercher des sujets similaires à "tableau annexe conditions ordonner"