VBA VS Javascript

Résolu
biog13 Messages postés 23 Statut Membre -  
biog13 Messages postés 23 Statut Membre -
Bonjour,

j'ai du passer sur google sheet au boulot cette semaine et je suis en galère avec mes fichiers.
J'avais une petite macro bien pratique et je voudrais la garder.
Elle permet de tracer la date de modification des cellules de la colonne A... Est ce que quelqu'un pourrait me dépanner pour la conversion svp

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
Target.Offset(0, 11) = Date
End If

End Sub

Merciiii

Biog

Configuration: Windows / Chrome 101.0.4951.54
A voir également:

5 réponses

jordane45 Messages postés 40050 Statut Modérateur 4 754
 
Bonjour,

Un truc du genre
function onSelectionChange(e) {
  const as = e.source.getActiveSheet();
  const row = e.range.getRow();
  const col = e.range.getColumn();
   const tz = e.source.getSpreadsheetTimeZone();
  const date = Utilities.formatDate(new Date(), tz, 'dd-MM-yyyy     hh:mm:ss');

  if (col==1){ 
        as.getRange(row,1).setValue(date);
  }
}


0
biog13 Messages postés 23 Statut Membre
 
Merci Jordane.

Est ce que je dois spécifier quelque chose dans ton script ?

Pour le moment j'ai un message d'erreur :
TypeError: Cannot read property 'source' of undefined
onSelectionChange @ Code.gs:2


Je voudrais par exemple que quand la cellule A2 est modifiée, la date de modif soit notée en cellule K2...
du coup j'ai juste modifié ça pour le moment :
if (col==1){
as.getRange(row,11).setValue(date);
}
}
0
biog13 Messages postés 23 Statut Membre
 
Bonjour,

j'ai eu la surprise ce matin de voir que le script fonctionne alors que ça me faisait un message d'erreur quand je le testais Jeudi mdr
ça me va bien du coup ! :)

Juste pour une petite finition, si je veux que le script s'applique uniquement à un onglet de mon fichier, je dois faire comment svp?
0
biog13 Messages postés 23 Statut Membre
 
au temps pour moi, il y a un truc qui déconne aussi.
la date s'affiche bien mais dès qu'on sélectionne une cellule de la colonne A et non quand on la modifie pour noter quelque chose.
c'est possible de changer ça ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
biog13 Messages postés 23 Statut Membre
 
pour ceux que ça intéressera plus tard...

J'ai réussi à bidouiller pour que la date s'affiche en colonne K (N°11) uniquement quand une cellule de la colonne A est modifiée


function onEdit(e) {
const as = e.source.getActiveSheet();
const row = e.range.getRow();
const col = e.range.getColumn();
const tz = e.source.getSpreadsheetTimeZone();
const date = Utilities.formatDate(new Date(), tz, 'dd-MM-yyyy hh:mm:ss');

if (col==1){
as.getRange(row,11).setValue(date);
}
}
0