J'utilise PSPad comme éditeur de texte, ce qui vous permet d'appuyer sur Alt+ Dpour insérer un horodatage, par exemple:
2010-07-17 23:45:44
Existe-t-il un moyen de le faire dans une feuille de calcul Google?
J'utilise PSPad comme éditeur de texte, ce qui vous permet d'appuyer sur Alt+ Dpour insérer un horodatage, par exemple:
2010-07-17 23:45:44
Existe-t-il un moyen de le faire dans une feuille de calcul Google?
Réponses:
J'utilise AutoHotKey pour exécuter cette fonction.
AutoHotKey est une application et un langage de script Windows.
Le code que j'utilise est ci-dessous, il serait facilement modifiable d'insérer l'heure et de changer les barres obliques en traits d'union si c'est ce que vous préférez.
+!d:: ;Shift-Alt-D: Insert current date
SendInput %A_DD%/%A_MM%/%A_YYYY%
return
Google Sheets prend en charge les raccourcis clavier suivants:
Ctrl+ Shift+ :est la frappe pour insérer l'heure.
Ctrl+ ;est la frappe pour insérer la date.
Ctrl+ Alt+ Shift+ :est la frappe pour insérer la date et l'heure.
Voir Accélérateurs de clavier, mnémoniques et raccourcis pour plus de détails.
J'ai créé un petit script qui convertit le littéral de chaîne "_now" en datetime actuel -
function onEdit(e) {
if (e.range.getValue() == "_now") {
e.range.setValue(new Date());
}
}
Je trouve assez pratique de taper _now
et de le convertir en valeur datetime actuelle.
Voir https://developers.google.com/apps-script/quickstart/macros et https://developers.google.com/apps-script/understanding_events pour plus d'informations sur la façon d'ajouter ceci à votre feuille de calcul Google
Vous pouvez mettre un bookmarklet avec cet emplacement:
javascript:var thetime=new Date();var txtNode=document.createTextNode((thetime.getMonth()+1)+'/'+thetime.getDate()+'/'+thetime.getFullYear()+' '+thetime.getHours()+':'+thetime.getMinutes()+':'+thetime.getSeconds()); var myInputNode=document.getElementsByClassName('cell-input')[1]; if (myInputNode.hasChildNodes()) { myInputNode.replaceChild(txtNode, myInputNode.childNodes[0]); } else { myInputNode.appendChild(txtNode); }; void(0);
puis modifiez la cellule et cliquez sur le bookmarklet.
=today()
dans une cellule pour obtenir la date actuelle.La formule pour la date-heure actuelle est =now()
. Cela peut être utilisé pour créer un horodatage statique comme suit:
=NOW()
dans une celluleGoogle Sheets ne le prend pas en charge, mais vous pouvez essayer une autre solution de contournement sans applications externes:
(Si vous êtes sous MacOS, utilisez Cmdplutôt que Ctrlfor Copy/Cut/Paste
, mais Ctrl+ Mpour insérer le commentaire, car Cmd+ Mminimise la fenêtre.)
J'ai également créé un script pour cela, et je voulais un format qui n'est pas disponible dans les horodatages par défaut (comme dans =TODAY()
ou =NOW()
).
Il saisit également le fuseau horaire en fonction de la session en cours (qui est définie dans les préférences de la feuille).
function _NOW(input)
{
// for formatting, see:
// https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
var timestamp_format = "yyyy-MM-dd hh:MM a"; // Timestamp Format eg: 2019-04-11 12:04 PM
var timezone = Session.getScriptTimeZone();
var date = Utilities.formatDate(new Date(), timezone, timestamp_format);
return date;
}
Son utilisation est simple:
=_NOW()
Pour clarifier: j'ai fait le formatage de la date manuellement parce que le formatage de la date personnalisé dans Google Sheets est une pile de poubelles enflammées (aucun moyen de définir un format personnalisé par défaut, aucun moyen de modifier l'ordre des éléments de date / heure sans tout supprimer et en ajoutant chaque partie à la fois).
Vous pouvez consulter ce tutoriel , il contient aussi de la vidéo. Dans le code du script, changez
var timestamp_format = "MM-dd-yyyy"; // Timestamp Format.
Par défaut, il ne vous donne que la date, passez au code ci-dessous pour obtenir l'heure.
var timestamp_format = "MM-dd-yyyy hh:mm:ss"; // Timestamp Format.
Est-ce ce que vous recherchez ? Je l'ai essayé et cela fonctionne parfaitement.
tanguay, je viens de tester cela =IF(A2<>"",NOW(),"")
. Si A2 a une valeur, il entre dans l'horodatage. Si A2 est vide, l'horodatage n'est pas entré dans la colonne d'horodatage.
=if(len(A2)>0;if(B2<>"";B2;now());"")
Dans Paramètres, changez la solution du circuit à 1, et cela fonctionnera sans JavaScript