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.
 

Efgé

XLDnaute Barbatruc
Re : Format spécial dans une cellule

Bonjour rcmelanie,
Peut être avec la validation de données comme ça :
Validation.jpg
Cordialement
 

Pièces jointes

  • Validation.jpg
    Validation.jpg
    11.5 KB · Affichages: 219
  • Validation.jpg
    Validation.jpg
    11.5 KB · Affichages: 215

JBOBO

XLDnaute Accro
Re : Format spécial dans une cellule

Bonjour,

Dans donnees validation personnalise formule:

=(NBCAR(D7)/6)-(ENT(NBCAR(D7)/6))=0
Afin de ne pouvoir entrer que des multiples de 6 chiffres. (123456789012 sera valide mais 123 ou 1234567 ne sera pas valide)

Puis format personnalisé : 000000" "000000" "000000 par exemple.
Par contre si tu n'as qu'un n° à 6 chiffres, alors des 0 à gauches de ton nombre vont s'afficher et je n'ai pas la solution pour qu'il ne s'affiche pas.
 

Efgé

XLDnaute Barbatruc
Re : Format spécial dans une cellule

Re rcmelanie, bonjour JBOBO, masterdisco,
Alors avec un mix de ma proposition pour la validation et le format personalisé:
Format.jpg
Voir exemple en A1
Cordialement
 

Pièces jointes

  • Format.jpg
    Format.jpg
    18.4 KB · Affichages: 194
  • Format.jpg
    Format.jpg
    18.4 KB · Affichages: 196
  • rcmelanie(1).xls
    15.5 KB · Affichages: 67

rcmelanie

XLDnaute Nouveau
Re : Format spécial dans une cellule

Exact concernant la fonction cela me met les 3 séries de 0.

Cependant pour les macros je n'arrive pas à saisir la plage de cellule qui doit avoir ce format de E8 à E202.

Y'a t'il un format spécial pour saisir la plage de donnée ?
 

tbft

XLDnaute Accro
Re : Format spécial dans une cellule

Bonjour

je viens d'essayer sur un de mes fichiers à la cellule C81.
dans la fenetre validation des données dans autoriser : personnalisé est dans formule =CNUM(SUBSTITUE(C81;" ";""))

au cas ou...
 

rcmelanie

XLDnaute Nouveau
Re : Format spécial dans une cellule

Malheureusement rien ne fonctionne, tant pis cela ne devrait pas etre si compliquer pour eux de saisir un numéro à 6 chiffres et s'il y en a plusieurs de mettre un simple espace entre ...

Merci pour toutes vos réponses en tous cas.
 

job75

XLDnaute Barbatruc
Re : Format spécial dans une cellule

Bonjour le fil,

On suppose qu'on entre les données en colonne A.

Les cellules doivent être au format Texte.

Dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A:A]) Is Nothing Or Target.Count > 1 Then Exit Sub
If Target = "" Then Exit Sub
Dim i As Integer, txt As String
For i = 1 To Len(Target) Step 7
  txt = Mid(Target, i, 7)
  If Not (txt Like "######" Or txt Like "###### ") Then
    MsgBox "Vous devez entrer des séries de 6 chiffres consécutifs séparées par un seul espace !", 48
    Target = ""
    Exit Sub
  End If
Next
End Sub

A+
 
Dernière édition:

tbft

XLDnaute Accro
Re : Format spécial dans une cellule

bonjour tout le monde

j'ai essayé de créer une fonction de test
Code:
Function test_validation(Entree) As Boolean
Dim valeur As Double, nb As Long, i As Long
Dim table As Variant
  test_validation = True
  If IsNumeric(Entree) Then
    valeur = CDbl(Entree)
    If valeur >= 999999 Then test_validation = False
    If valeur < 0 Then test_validation = False
    If InStr(Entree, ".") + InStr(Entree, ",") > 0 Then test_validation = False
  Else
    If InStr(Entree, " ") > 0 Then
      table = Split(Entree, " ")
      nb = UBound(table)
      test_validation = True
      For i = 0 To nb
        test_validation = test_validation And test_validation(table(i))
      Next i
    Else
      test_validation = False
    End If
  End If
End Function

Sub test()
Dim toto
  toto = test_validation("123456")
  toto = test_validation("12345,6")
  toto = test_validation("a123456")
  toto = test_validation("a123 456")
  toto = test_validation("123 456")
  toto = test_validation("123 45 67")
End Sub

si la méthode est bonne on doit pouvoir l'utiliser pour jouer sur la validation des données
 

rcmelanie

XLDnaute Nouveau
Re : Format spécial dans une cellule

Bonjour à tous ceux que je n'ai pas vu,


Et pourtant... Ca fonctionne bel et bien.
Vois le fichier disponible ici et tape des valeurs à la suite dans la colonne A.
Les macros doivent bien sûr être activées...

123456 est OK
123456 123456 est OK (un seul espace entre les deux)
123456 123456 est FAUX (deux espaces)
1234567 est FAUX
a12345 est FAUX

Ou alors j'ai mal compris ta demande...

Exact c'est parfait dans votre exemple, par contre en rajoutant le fameux code pour ciblé la colonne E ça fonctionne de partout alors que je souhaiterait que dans ma zone.

Sub Initialisation()
TestFormat6Chiffres Range("E8:E202")
End Sub
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Format spécial dans une cellule

Re masterdisco,

Touche F5 => Cellules => Dernière cellule => OK => on trouve B65536 !

Pour nettoyer :

Touche F5 => taper 5:65536 => clic droit => Supprimer

Edit : faut d'abord virer tes macros... On arrive à 22 Ko.

A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 342
Membres
103 524
dernier inscrit
Smile1813