Est-il possible de limiter la longueur du contenu de la cellule lors de la saisie de données dans une cellule à l'aide de Google Apps Script ou par tout autre moyen?
Utilisez une validation de données avec une formule personnalisée.
Si la cellule pour limiter la longueur de la valeur est A1 et la limite de longueur est de 5, la formule personnalisée est alors
=LEN(A1)<=5
Références
Le petit script suivant limite l'entrée de la cellule à 5 positions et ajoute le surplus sous forme de note à la cellule.
function onEdit(e) {
var limit = 5;
if(e.value.length > limit) {
e.range.setValue(e.value.substring(0, limit) + "...");
e.range.setNote("Remaining text was: \n....." + e.value.substring(limit));
}
}
A chaque édition, le déclencheur onEdit(e)
est activé et il vérifie chaque fois si la valeur des cellules (e.value
) a une longueur supérieure à 5. Si tel est le cas, la cellule active recevra une nouvelle valeur ne dépassant pas 5 positions (setValue
& substring(0,5)
). Le reste du texte est ajouté en tant que note.
J'ai créé un exemple de fichier pour vous: Entrée cellule limite
Ajoutez le code sous Outils> Editeur de script dans le menu du tableur. Dans l'éditeur de script, collez le code et appuyez sur le bouton d'enregistrement.
La formule suivante limite l'entrée de la cellule à 10 positions.
Si la cellule pour limiter la longueur de la valeur est A2 et la limite de longueur est de 10, la formule personnalisée est alors
=LEFT(A2,10)
Exemple:
Résultat:
Fait. Mais si vous voulez ajouter un Ellipsis après le résultat, vous pouvez éditer ceci:
=CONCATENATE(""&LEFT(A2,10)&" ...")
Résultat:
Nous pouvons également utiliser la validation des données avec une formule personnalisée pour limiter la longueur d'une cellule par son nombre de mots (ou pour définir un nombre maximal de mots dans une cellule).
Si A1 est la cellule que nous limitons par le nombre de mots, et 10 est le nombre maximum de mots, alors la formule est la suivante:
= COUNTA (SPLIT (A1, "")) ‹= 10
Références: