Conversion de certaines plages en majuscule

Bonjour,

Je souhaiterai pouvoir convertir les plages F2:I et K2:R en majuscule avec onEdit

J'ai trouvé des fonctions pour le classeur entier mais pas pour des "range" spécifique.

function onEdit(e) {
  if (typeof e.value != 'object') {
    e.range.setValue(e.value.toUpperCase());
  }
}

Quelqu'un aurait une idée ?

Est il possible de créer une fonction ConvertUpper et de l'appeler dans la fonction onEdit ?

Bonjour,

function onEdit(event) {
  var feuille = event.source.getActiveSheet();
  if (feuille.getName() != 'maFeuille') return;
  var cellule = event.source.getActiveRange();
  if (cellule.getColumn() == 6 || cellule.getColumn() == 11) {
    cellule.setValue(cellule.getValue().toUpperCase())
  }
}

j'ai limité à un onglet appelé ici 'maFeuille', mais tu peux aussi supprimer les 2 premières lignes si pas besoin

Bonjour Steelson, ça fonctionne pour les colonnes F et K mais pas pour les colonnes G, H, I et L à R.

Et cette fonction prends toute la colonne, elle doit commencé à la ligne 2.

en fait il faut que je change

if (cellule.getColumn() == 6 || cellule.getColumn() == 11)

par

if (cellule.getColumn() == 6 || cellule.getColumn() == 7 || cellule.getColumn() == 8 || cellule.getColumn() == 9 || cellule.getColumn() == 11)

désolé, je n'ai pris que F et K

donc oui, ou bien

if ( (cellule.getColumn() >= 6 && cellule.getColumn() <= 9) || (cellule.getColumn() >= 11 || cellule.getColumn() <= 18) )

vérifies les N° des colonnes concernées

pour ajouter à partir de la ligne 2

if ( ((cellule.getColumn() >= 6 && cellule.getColumn() <= 9) || (cellule.getColumn() >= 11 || cellule.getColumn() <= 18)) && cellule.getRow() >= 2 )

Merci, ça fonctionne parfaitement.

Par contre la durée du script est longue... je viens de tester en faisant une feuille "temp" en faisant la même chose par formule et c'est beaucoup moins long. Pourtant une formule c'est une fonction, interne à google sheet mais ça reste une fonction...

La différence est qu'une fonction est exécutée localement, alors que le script est exécuté côté serveur. Tout dépend donc de ta connexion internet (de la latence notamment).

Rechercher des sujets similaires à "conversion certaines plages majuscule"