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

Autres (RESOLU)saisie restrinte dans des cellules

chaelie2015

XLDnaute Accro
Bonsoir FORUM
Je souhaite avoir dans une cellule format "Nombre"&"T"&"espace "&"ANNÉE" afin de limiter la saisie dans la cellule.
NB: "Nombre" est limité entre 1 et 4
"ANNEE"(AAAA) : 2020
Exemple : dans une cellule fusionnée (quelconque) "B77" je dois saisir par exemple 2T 2020
si je saisis 4T2020 format non valable parce que il y a pas d'espace entre "T" et "ANNÉE"
Merci par avance
 

job75

XLDnaute Barbatruc
Bonsoir chaelie2015, eriiiic,
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Intersect(Target, [B2:D10000], UsedRange) 'plage à adapter
If Target Is Nothing Then Exit Sub
Dim tablo, i&, x$, n As Byte
For Each Target In Target.Areas 'si entrées ou effacements multiples
    tablo = Target.Resize(, 2) 'matrice, plus rapide, au moins 2 éléments
    For i = 1 To UBound(tablo)
        x = CStr(tablo(i, 1))
        If x <> "" Then
            n = Val(Left(x, 1))
            If Not x Like "#T ####" Or n = 0 Or n > 4 Then
                Application.EnableEvents = False
                Application.Undo 'annule les entrées
                Application.EnableEvents = True
                Exit Sub
            End If
        End If
Next i, Target
End Sub
A+
 

Pièces jointes

  • Trimestre(1).xlsm
    179.2 KB · Affichages: 22

chaelie2015

XLDnaute Accro
Bonsoir JOB
Merci pour le code; si je saisi 5T 2020 il l'accepte ?
mème 4T2020 ( sans espace entre T et l'année) il l'accepte ??
merc
 

eriiic

XLDnaute Barbatruc
Oui, bien sûr. Il est toujours possible de la restaurer.
Je pars quand même du principe que les gens travaillent correctement.
Sinon tout est imaginable, y compris la suppression d'un nombre important d'une cellule et là rien ne peut y faire...
eric
 

Discussions similaires

Réponses
28
Affichages
6 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…