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

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 :

Cordialement
 

Pièces jointes

  • Validation.jpg
    11.5 KB · Affichages: 220
  • Validation.jpg
    11.5 KB · Affichages: 216

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é:

Voir exemple en A1
Cordialement
 

Pièces jointes

  • Format.jpg
    18.4 KB · Affichages: 195
  • 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


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,

@rcmelanie : avez-vous vu mon post #12 (faut défendre son beefsteack sur ce fil)

@ masterdisco : comment as-tu fait pour obtenir un fichier de 2 Mo avec 4 cellules remplies

A+
 

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

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