Crée automatiquement une feuille lors d'une nouvelle ligne ajouté

Bonjour ,
J'essaye d'informatisé les bons commandes pour mon travail. Quand un formulaire est envoyé, je récupère dans une feuille nommé LISTE DDE CMD et de cette nouvelle ligne, crée une feuille avec un format ou les données sont placés comme sur la photo. Etant novice dans le google Sheets aimerais être aiguillé.

A chaque nouvelle ligne ajouté dans la feuille LISTE DDE CMD crée une nouvelle feuille avec une incrémentation "Cmde001 ; Cmde002....."

exemple de creation fichier tableau feuille de commande

Bonjour,

as-tu une maquette simplifiée permettant de te donner une marche à suivre ?

Il y a 2 possibilités

  1. on peut en effet générer une nouvelle feuille à chaque envoi du formulaire par onFormSubmit(e) en recopiant un modèle et en alimentant le modèle avec les données transmises
  2. mais on peut aussi se servir d'un seul et unique modèle de bon de commande avec un menu déroulant, dans ce cas le formulaire se renseigne automatiquement à partir des données de la ligne concernée ... et ceci permet en cas de suppression ou modification des réponses d'en tenir compte
maquette

Je passe par un formulaire en ayant les données suivantes reportés sur un fichier Sheet:

document sans titre 6

Je récupère sur une feuille nommée LISTE DDE CMD de cette nouvelle ligne va générer automatiquement une feuille avec un modèle fixe en prenant en compte les modifications réponse du formulaire FORM

  • l’horodateur colonne A → (Sur la nouvelle feuille généré automatiquement) en F1
  • Nom Prénom et demandeur colonne C → B5
  • Site Concerné colonne D→ B8
  • Section Comptable colonne E → B11
  • Code GMAO colonne F –> B12
  • TAG ( N°machine sur notre site) colonne G → B13
  • Désignation colonne H → B16
  • La Marque colonne I → B18
  • Référence du Fabricant colonne J → B19
  • Référence Fournisseur: colonne K → B20
  • Raison Colonne L →B23
  • Priorité colonne M →B24
  • Date souhaité colonne N→ B27 document sans titre 7

Si tu avais la même chose en fichier sheets sans données confidentielles, ce serait plus simple. https://www.sheets-pratique.com/fr/cours/partage

Merci

La solution la plus simple, voire simpliste ...

  1. dans ton bon de commande, en A1, mets le format suivant "CMD"000 tu peux le mettre en A1 ou ailleurs si tu as déjà un logo
  2. ensuite dans les formules des bons de commande, remplace les par
='Réponses au formulaire 1'!A2
devient
=iferror(OFFSET('Réponses au formulaire 1'!A1;$A$1;))
='Réponses au formulaire 1'!C2
devient
=iferror(OFFSET('Réponses au formulaire 1'!C1;$A$1;))

etc.

  • Il suffit de taper un n° (sans CMD) en A1 pour voir apparaître les infos.
  • si tu veux voir défiler les commandes, on peut ajouter un bouton + ou > et un bouton - ou <

Un grand merci du temps que tu me consacre j'apprend en même temps ;)

J'ai fais ce que tu m'a dis au niveau des renvois avec les formules "If error offset" je récupère bien de ce qui provient de la ligne du tableau " Réponses Au formulaire 1"

le format "CMD" 0000 ok j'ai compris le truc.

Est ce que tu sais comment je peux faire pour quand une nouvelle ligne arrive sur le tableau "Réponses Formulaire 1" ( lors d'un envois de formulaire) crée un nouveau bon de commande automatiquement ( dans le même fichier) avec la logique format "CMD"000 qui s'incrémente de "1" dans le titre de l'onglet et qui récupère automatiquement les données de la nouvelle ligne du tableau de la feuille "Réponses au formulaire 1 --> qui les met dans un nouveau bon commande

Etant très très novice sur les formules et script, c'est sur la partie Généré un nouveau bon commande automatiquement lorsque une nouvelle ligne s'ajoute sur l'onglet "Réponses Formulaire1" quand un formulaire est envoyé

Est ce que tu sais comment je peux faire pour quand une nouvelle ligne arrive sur le tableau "Réponses Formulaire 1" ( lors d'un envois de formulaire) crée un nouveau bon de commande automatiquement ( dans le même fichier) avec la logique format "CMD"000 qui s'incrémente de "1" dans le titre de l'onglet et qui récupère automatiquement les données de la nouvelle ligne du tableau de la feuille "Réponses au formulaire 1 --> qui les met dans un nouveau bon commande

je peux le faire, mais je pensais que c'était inutile car de la façon dont c'est fait il suffit de changer le n° (1, 2, 3, etc.) pour voir affiché le bon commande CMD0001, CMD0002, CMD0003 etc. donc

  • sans surcharger la feuille
  • en tenant compte des modifications

avec pourquoi pas voir défiler les commandes avec un bouton + ou > et un bouton - ou <

Je viens de comprendre l'histoire du défilement des commandes "CMD" je n'avais pas compris veuillez m'excuser.

ok, je reprends cela en fin de matinée ...

Du coup pour intégrer une commande pour faire défiler sur les "CMD" comment faut il faire ?

sinon pas besoin de générer d'autre feuille la solution est bonne à moi de l'optimiser au fonctionnement de ma structure j'ai testé et je trouve ça vraiment pas mal du tout.

Merci encore du temps que vous me consacrez

ok, j'ajoute cela en fin de matinée, cela me parait raisonnable

attention, il s'agissait bien de faire ceci

='Réponses au formulaire 1'!A2
devient
=iferror(OFFSET('Réponses au formulaire 1'!A1;$A$1;))

mais je vois que tu as laissé A2 au lieu de A1, idem dans toutes les formules

et comme tu as changé la position du n° de commande, mets bien

=iferror(OFFSET('Réponses au formulaire 1'!A1;$A$2;))

Tu peux créer 2 boutons comme ceci

image

voire les placer tout en haut en dehors du champ d'impression si besoin.

Tu mets ce script

var num=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('A2') // modifier si nécessaire
var der=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Réponses au formulaire 1').getLastRow()-1
function moins(){
  num.setValue(Math.max(num.getValue()-1,1))
}
function plus(){
  num.setValue(Math.min(num.getValue()+1,der))
}

tu affectes chaque script au bouton adhoc (sélectionne les 3 points verticaux de l'image)

À la première utilisation, il faudra donner les autorisations.

edit : script corrigé

Ok pour le dessin bouton , le script j'ai ouvert crée un fichier "Bouton +et -" coller enlever la partie my function. C'est bon le Script est assigné au bouton ça fonctionne

Pas grave, c'est comme cela qu'on apprend.

Supprime la première et la dernière ligne.

function myFunction() { // ---> à supprimer
...
} // à supprimer

Nickel ça fait le boulot =)

Dans la feuille "Bon commandes" je me suis mis une validation de données en Case C2

pour mettre un état qui reste que pour la CMD0001 ( $A$2) " En Attente Validation" mais quand je vais sur la CMD0002 l'état est pareil que la CMD0001

je voudrais pouvoir Sélectionner un Etat depuis la feuille bon commandes Pour La Cmd0001 comme quoi je "Valide" la demande et la Cmd 0002 soit par exemple en "Attente de validation"

Rechercher des sujets similaires à "cree automatiquement feuille lors nouvelle ligne ajoute"