Macro : Copy heure d'une cellule dans le commentaire d'une autre

Bonjour je souhaiterai pouvoir, via une macro, copier les informations d'une cellule en commentaire d'une autre.

Pourriez-vous m'aider svp ?

Ex lien ouvert ci-dessous >> copié heure ligne 5 en commentaire de la ligne 11

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

Bonjour,

un commentaire (en réalité il faudrait parler de note) se met sur une cellule et non sur une ligne

je suppose que c'est donc chaque cellule de la ligne 11 qui doit recevoir chaque valeur de la ligne 5

function annoter() {
  var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
  var valeurs = sh.getRange('D5:N5').getValues()
  for (i=4;i<=14;i++){
    sh.getRange(11,i).setNote(sh.getRange(5,i).getValue())
  }
}

en google sheet, les notions commentaires et notes sont maintenant bien séparées

Super, c'est bien ça !! Peux t'on a présent mettre le résultat dans la ligne associé au jour du test ?

Dans le fichier en fonction de la cellule A5 en concondance avec la collone C

merci !!

J'ai ajouté une colonne en B avec formule pour faciliter la recherche du jour

function annoter() {
  var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
  var jour = sh.getRange('B:B').getValues().flat()
  var ligne = jour.indexOf(true) + 1
  if (ligne == 0) { return }
  for (i = 4; i <= 14; i++) {
    sh.getRange(ligne, i).setNote(sh.getRange(5, i).getValue())
  }
}

Merci mais je ne peux rajouter une colonne malheureusement.

J'ai rajouté un bout à ma macro déjà existante qui copie le résultat de la ligne 6 sur la ligne associé à la date, ne peux t'on pas s'en servir ?

J'ai tenté d'implémenté votre le "setnote" mais je dois mal mi prendre :(

2022 04 13 18h15 53

Merci mais je ne peux rajouter une colonne malheureusement.

ok, on peut faire autrement, mais a priori ton timezone sur le script est New York ! s'il y a un écart avec la feuille on risque de tomber sur la veille

image
je suis passé de setNote à setNotes, ce qui permet de faite tout en une seule fois
function annoter() {
  var f = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
  var jours = f.getRange('B:B').getDisplayValues().flat()
  var quand = f.getRange('A5').getDisplayValue()
  var ligne = jours.indexOf(quand) + 1
  if (ligne == 0) { return }
  f.getRange(ligne, 3, 1, 10).setNotes(f.getRange(5, 3, 1, 10).getValues())
}

je n'ai pas regardé l'autre code, mais je pense que tu peux t'inspirer de celui-ci, ce sera un excellent exercice

mais ceci ne peut pas fonctionner

plage.copyTo(sh.getRange("C"+ligne).setNote(sh.getRange("C"+ligne).getValue()), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false)

Merci !!!!

l'ai intégré à ma macro et ça fonctionne !! :) mais j'ai pas toutes les colonnes je ne comprends pas (comment Gsheet trouve les lignes et colonnes ??)

function Copyresult() {

var doc = SpreadsheetApp.getActiveSpreadsheet()
var f = doc.getSheetByName('Feuille 1')
var quand = f.getRange('A5').getDisplayValue();

Copy plage
var dates = f.getRange('B11:B'+f.getLastRow()).getDisplayValues().join().split(',')
var plage = f.getRange("C6:N6");
var ligne = dates.indexOf(quand)+11; plage.copyTo(f.getRange("C"+ligne), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);

Copy Notes
var dates = f.getRange('B11:B'+f.getLastRow()).getDisplayValues().join().split(',')
var plage = f.getRange("C6:N6");
var ligne = dates.indexOf(quand)+11;
f.getRange(ligne, 3, 1, 10).setNotes(f.getRange(5, 3, 1, 10).getValues())


>>> Peux t'on mettre des commentaires qui sont pas pris dans les macro du style Copy plage en italique ou autre ?

en fait, tu as 12 colonnes et non 10, donc

f.getRange(ligne, 3, 1, 12).setNotes(f.getRange(5, 3, 1, 12).getValues())

la "note", c'est du texte, donc oui on peut découper et n'en mettre qu'une partie, mais se baser sur un style c'est épineux

Merci beaucoup !!!!

Rechercher des sujets similaires à "macro copy heure commentaire"