Limiter nombre caractère et forcer majuscule
L
Bonjour et bonne année à tout le monde ! :)
Y a-t-il un moyen pour limiter un nombre max de caractère à 40 ainsi que de forcer l'écriture du texte en majuscule dans différentes colonnes complètes d'un onglet googlesheet ?
Voici le code que j'utilise sur excel pour obtenir le résultat souhaité :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Columns("B")) Is Nothing Then
On Error GoTo suite
Target = UCase(Target)
If Len(Target) > 40 Then MsgBox "Max 40 caractères": Target.Interior.Color = 65535
If Len(Target) <= 40 Then
With Target.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
End If
If Not Intersect(Target, Columns("C")) Is Nothing Then
Target = UCase(Target)
If Len(Target) > 40 Then MsgBox "Max 40 caractères": Target.Interior.Color = 65535
If Len(Target) <= 40 Then
With Target.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
End If
If Not Intersect(Target, Columns("D")) Is Nothing Then
Target = UCase(Target)
If Len(Target) > 40 Then MsgBox "Max 40 caractères": Target.Interior.Color = 65535
If Len(Target) <= 40 Then
With Target.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
End If
suite:
Application.EnableEvents = True
End Sub
Merci de votre réponse
Cordialement
Bonjour,
vous pouvez obtenir un résultat sans employer de script en utilisant soit une validation des données avec la formule =LEN(A1)<=40 ou une mise en forme conditionnelle avec la formule =NBCAR(A1)<=40
ou avec un script
function onEdit(e) {
var limit = 40;
if(e.value.length > limit) {
e.range.setValue((e.value.substring(0, limit) + "...").toUpperCase());
e.range.setNote("Le texte restant était: \n....." + e.value.substring(limit));
}
}