Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Limiter caractères dans cellule

  • Initiateur de la discussion Initiateur de la discussion Borman
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

Borman

Guest
Bonjour,

J'ai bien limité à 20 caractères maxi mes cellules, mais rien ne m'averti avant la fin de la saisie que je les ai dépassé.

Est-il possible d'interdire la saisie, ne plus prendre en compte la frappe au delà des 20 caractères dans une cellule ?

Merci par avance.

Borman.
 
Dernière modification par un modérateur:
Re : Limiter caractères dans cellule

Bonjour,

Le plus facile c'est de sélectionner votre cellule ici A2.
Ensuite aller dans le menu "Données" ensuite "validation".
Choisir valider :"Personnalisé" et comme formule mettre(par exemple) :
=SI(NBCAR(A2)>20;"erreur!";A2)

ou pour mettre juste 20 pas un de plus ni de moins

=SI(OU(NBCAR(A2)>20;NBCAR(A2)<20);"erreur";A2)

😛
 
Dernière édition:
Re : Limiter caractères dans cellule

Bonjour à tous


On peut aussi choisir (d'autant plus que c'est prévu) dans Données Validation:
Autoriser/Longueur du texte
Minimum:1
Maximum:20
Et mettre un message en allant dans l'onglet Alerte d'erreur (y remplir les champs idoines)
PS: Test OK
 
Re : Limiter caractères dans cellule


Bonjour et merci. C'est exactement ce que j'ai fait. Si dépassement, je suis alerté, mais pas "interdit" de dépasser les 20 caractères lors de la saisie. Or c'est exactement ce que je cherche à faire, ne plus pouvoir écrire au delà de 20.

En tout cas merci pour votre réponse.
Borman.
 
Re : Limiter caractères dans cellule

Bonjour le forum,


Peut-être avec du VBA ?

Possible avec un shockwave mais non exploitable.

Autre fichier joint : limitation par VBA à 20 caractères les saisies dans la colonne A. Equivalant des solutions déjà proposées et qui donc ne répond pas à ton problème.

excfl
 

Pièces jointes

Dernière édition:
Re : Limiter caractères dans cellule

Re

Sauf qu'au final avec Données/Validation la cellule ne pourra jamais contenir plus 20 caractères.
Donc il suffit de saisir une fois plus de 20 caractères pour ensuite être averti et donc ne plus recommencer.
mais comme nous ne savons pas si Borman avait bien choisi Style=Arret
Wait and see

EDITION: Glané sur le net, mais le message ne s'affiche que lorsqu'on a dépassé 20 caractères.
Ce qui est peu ou prou la même chose que Données/Validation
(Données/Validation suffit dans ce cas, non sauf cas spéciaux comme copier/coller etc...)
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'auteur code  d'origine: JBeaucaire
Dim cell As Range, MyStr As String, Ans As String
If Not Intersect(Target, Columns("A")) Is Nothing Then
    For Each cell In Intersect(Target, Columns("A"))
        If Len(cell.Value) > 20 Then
             MyStr = cell
             Do
                Ans = Application.InputBox("Cette cellule ne peut contenir plus de 20 caractères, contrôlez votre saisie.", _
                    "Limitation nombre de caractères", MyStr, Type:=2)
                If Ans = "False" Then
                    'Loop will restart
                ElseIf Len(Ans) <= 20 Then
                    cell = Ans
                    Exit Do
                Else
                    MyStr = Ans
                End If
            Loop
        End If
    Next cell
End If
End Sub
 
Dernière édition:
Re : Limiter caractères dans cellule

Re

Victor21
Dans ce cas, j'ajouterai
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count=1 Then
    Target = Mid(Target, 1, 20)
End If
End Sub

Mais personnellement, je suis l'utilisateur final, je préfère éviter le VBA et passer par Données/Validation.
(Si la saisie est normée, à moi d'être en capacité de respecter les normes de saisie de mes données 😉 )
 
Dernière édition:
Re : Limiter caractères dans cellule

Re

Vincent21*
Je viens de tester ton code dans ces conditions
Selection A1:A10
en A1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
puis CTRL+ENTREE
et zou on a plus de 20 caractères dans les cellules.
Caramba! On est fait !

*: private joke bis
 
Re : Limiter caractères dans cellule

Re

En cherchant toujours en encore dans l'existant (une idée de Mike Erickson)
Utiliser un userform pour compter les caractères
(Dans l'userform une TextBox et un Label qui recouvre parfaitement la TextBox)
Code VBA:
'Dans l'userform
Private Sub TextBox1_Change()
Range("a1") = UserForm1.TextBox1.Text
UserForm1.Label1.Caption = Len(Range("a1"))
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Unload Me
End Sub

Code VBA:
'Dans le code de la feuille
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
UserForm1.TextBox1.Value = CStr(Range("a1"))
UserForm1.Show
Else
Unload UserForm1
End If
End Sub

Borman
Voir si cela peut t'être utile, et donc adapter en conséquence.

PS: excfl: j'ai pas compris les 2 croissants 😉
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…