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

Microsoft 365 Limiter les caractères autorisés dans une cellule

  • Initiateur de la discussion Initiateur de la discussion GuiDUG
  • 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 !

G

GuiDUG

Guest
Bonjour

Je voudrais que dans une cellule on ne puisse saisir que des chiffres (0, 1, 2 , 3, 4, 5, 6, 7, 8 ,9) ou "-", et que toute saisie d'un autre caractère ne soit pas considérée.

Par exemple, dans la cellule :
-la saisie de "1569-48" serait autorisé.
-la saisie de "3,9-az-" serait corrigé en "39--"
 
Bonsoir GuiDUG,

Voyez le fichier joint et cette macro évènementielle dans le code de la feuille :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim tablo, i&, x$, j%, y$
With UsedRange.Columns(1)
    tablo = .Resize(, 2).Formula 'matrice, plus rapide, au moins 2 éléments
    For i = 2 To UBound(tablo)
        x = tablo(i, 1)
        For j = Len(x) To 1 Step -1
            y = Mid(x, j, 1)
            If Not IsNumeric(y) And y <> "-" Then x = Left(x, j - 1) & Mid(x, j + 1)
        Next j
        tablo(i, 1) = x
    Next i
    '---restitution---
    Application.EnableEvents = False 'désactive les évènements
    .Value = tablo
    Application.EnableEvents = True 'réactive les évènements
End With
End Sub
A+
 

Pièces jointes

- 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…