Format de saisie

Rénato

XLDnaute Occasionnel
Bonjour le forum,

Je souhaite restreindre la possibilité de saisie dans une plage de cellules de la façon suivante :

AA222#
AB326#

Les 2 premiers caractères sont des lettres, du 3eme au 5eme caractère des chiffres, à partir du 6eme...saisie libre.

J'ai essayé en vain par Données\\Validations ou par le menu Format\\Cellule\\Nombre.
J'ai recherché sans succès dans le forum, j'ai même trouvé dans le menu téléchargement une production signée Cathy sur les formats spéciaux, dans laquelle je n'ai pas non plus trouvé mon bonheur.

L'un d'entre vous aurait-il une solution ?

Merci pour votre aide.
 

Hervé

XLDnaute Barbatruc
Bonjour rénato et nanard

une proposition en VBA, en attendant que les maîtres du forum, te trouve une solution plus élégante :

ce code fonctionne pour toute saisie en colonne A :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim message As String, cellule As String
Dim i As Byte

If Not Application.Intersect(Target, Columns(1)) Is Nothing Then
message = 'Merci de respecter le format : AA123....'
cellule = Target.Address
If Len(Target) < 5 Then MsgBox message: Range(cellule).Activate
For i = 1 To Len(Target)
carac = Mid(Target, i, 1)
If i = 1 And IsNumeric(carac) Then MsgBox message: Range(cellule).Activate: Exit Sub
If i = 2 And IsNumeric(carac) Then MsgBox message: Range(cellule).Activate: Exit Sub
If i = 3 And Not IsNumeric(carac) Then MsgBox message: Range(cellule).Activate: Exit Sub
If i = 4 And Not IsNumeric(carac) Then MsgBox message: Range(cellule).Activate: Exit Sub
If i = 5 And Not IsNumeric(carac) Then MsgBox message: Range(cellule).Activate: Exit Sub
Next i
End If
End Sub

en espérant t'avoir aidé.

a plus...
 

andré

XLDnaute Barbatruc
Salut Renato, nanard, Hervé et les autres,

A essayer comme formule de liste de validation sous Autoriser :

=ESTERREUR(GAUCHE(A1;2)*1)*NON(ESTERREUR(STXT(A1;3;3)*1))=1

Si cela ne marche, je testerai moi-même pour trouver la correction.

Bon week-end.
Ândré.
 

Rénato

XLDnaute Occasionnel
bonsoir à tous,

Merci à Nanard, Hervé et André de s'être gentiment penché sur mon souci.

J'ai éprouvé le script d'RV , il fonctionne très bien, concernant la formule d'André, après avoir apporté un petit correctif ....ça marche également.

=ESTERREUR(GAUCHE(A4;1)*1)*ESTERREUR(STXT(A4;2;1)*1)*NON(ESTERREUR(STXT(A4;3;3)*1))

Bon W.E. et encore merci !!!

Rénato
 

Discussions similaires

Statistiques des forums

Discussions
312 244
Messages
2 086 558
Membres
103 247
dernier inscrit
bottxok