Format spécial dans une cellule

rcmelanie

XLDnaute Nouveau
Bonjour,

Je dois imposer un format dans une cellule.

Il faut que l'on saisisse un numéro de 6 chiffres.

Cependant, les personnes peuvent saisir plusieurs numéros a 6 chiffres dans la meme cellule tant qu'ils sont espacé d'un seul espace.

Dans "valdiation" et "personnalisé" il n'y a aucune indication pour entrée un format rien ne fonctionne.

Auriez vous une solution ?

Merci d'avance.
 

rcmelanie

XLDnaute Nouveau
Re : Format spécial dans une cellule

Pour clôturer ce sujet, je vous remercie pour toutes vos réponses :)

Et vous donne le mix de macro que j'ai réussi à faire :p

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E8:E202")) Is Nothing Then
TestFormat6Chiffres Target
End If
End Sub
Private Function TestFormat6Chiffres(Plage As Range)

Dim r As Range, Valeur As String, Tronque As String

For Each r In Plage
Valeur = r.Value
Tronque = Valeur

If Valeur = "" Then FormatOK r

If Valeur Like "* *" Then
FormatErreur r
GoTo CelluleSuivante
End If

While Valeur <> ""
If InStr(1, Valeur, " ", vbTextCompare) <> 0 Then
Tronque = Left(Valeur, InStr(1, Valeur, " ", vbTextCompare))
If Not Tronque Like "######" & " " Then FormatErreur r Else FormatOK r
Valeur = Replace(Valeur, Tronque, "")
Else
If Not Valeur Like "######" Then FormatErreur r Else FormatOK r
GoTo CelluleSuivante
End If
Wend
CelluleSuivante:
Next r
End Function


Private Function FormatErreur(Cel As Range)
Cel.Interior.ColorIndex = 3
MsgBox "Vous devez entrer des séries de 6 chiffres consécutifs séparées par un seul espace !", 48
Target = ""

End Function




Private Function FormatOK(Cel As Range)
Cel.Interior.ColorIndex = xlNone
End Function
 

Discussions similaires

Statistiques des forums

Discussions
312 360
Messages
2 087 594
Membres
103 604
dernier inscrit
CAROETALEX59