Saisie obligatoire

  • Initiateur de la discussion COMPTA
  • Date de début
C

COMPTA

Guest
Est il possible de forcer excel à saisir dans un certains nombre de cellules: par exemple (A2:a540) un format spécial de texte (6chiffres et une lettre)
exemple : 113722S. Ce genre de saisie permet d'identifier une catégorie de personnel. Je suppose qu'il faut utiliser VBA ?
Merci pour vos réponses.
 
@

@+Thierry

Guest
Bonsoir Compta (sacré pseudo), Bonsoir le Forum,

Je ne sais pas si tu connais quelques rudiments de VBA, mais je te propose ce code qui est une Macro évènementielle (qui se déclenchera automatiquement à la saisie) à mettre dans le Private Module de la Feuille à surveiller.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim TheString As String
Dim Good As Boolean
Dim i As Byte
On Error GoTo Out
If Not Application.Intersect(Target, Range("A1:A540")) Is Nothing Then
TheString = Target.Value

If Len(TheString) <> 7 Then GoTo Out
If Not IsNumeric(Left(TheString, 6)) Then GoTo Out
If IsNumeric(Right(TheString, 1)) Then GoTo Out
For i = 65 To 90
If UCase(Right(TheString, 1)) = Chr(i) Then Good = True: Exit For
Next
End If
If Not Good = True Then GoTo Out
Exit Sub

Out:
With Target
.Value = ""
.Select
End With
End Sub

Ce code empèchera toute saisie autre que Six Chiffres suivis d'une Lettre (MAJ ou Min sans importance) au Format 123456A (ou 123456a)

Si on saisit autre chose la cellule sera vidée et re-sélectionnée. Je pense que çà devrait convenir.

Bonne Fin de 1er Mai,

Bon Premier Mai à Tous et Toutes
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 390
Messages
2 087 951
Membres
103 683
dernier inscrit
Cescodelvar