erreur nombre de caractere suite a utilisation du 0

GHISLAIN

XLDnaute Impliqué
bonjour a tous ,

j'utilise ce code ci dessous pour obliger un nombre obligatoire de caractere dans la saisie

If Not Application.Intersect(Target, Range("C7:IV42")) Is Nothing Then
If Target.Count = 1 Then
v$ = Target.Value: v$ = Replace(v$, " ", "")
If Len(v$) <> 4 Then
MsgBox "NOMBRE DE CARACTERES EXCLUSIVEMENT 4", vbExclamation
Target.ClearContents
Target.Select
Exit Sub
End If
End If
End If

si je saisie 1563 ce code fonctionne

par contre si je saisie 0256 celui ci ne fonctionne pas
le code ne tien pas compte du zéro

comment contourner le probleme ??

merci a tous de votre aide et suggestion amicalement Ghislain
 

GHISLAIN

XLDnaute Impliqué
Re : erreur nombre de caractere suite a utilisation du 0

bonjour victor21 et princeCorwin

merci pour vos propositions mais celles ci ne repondent pas a mon souci , je dois garder du format nombre puisque ce sont des valeurs que j'utilise par la suite
 

Victor21

XLDnaute Barbatruc
Re : erreur nombre de caractere suite a utilisation du 0

Re,

bonjour victor21 et princeCorwin

merci pour vos propositions mais celles ci ne repondent pas a mon souci , je dois garder du format nombre puisque ce sont des valeurs que j'utilise par la suite
D'où l'intérêt de joindre un extrait de fichier représentatif, et d'indiquer dès le départ toutes les contraintes
 

GHISLAIN

XLDnaute Impliqué
Re : erreur nombre de caractere suite a utilisation du 0

re,
il est vrai qu'habituellement je faisais parvenir un fichier , je repare en te le faisant parvenir

amicalament

ghislain
 

Pièces jointes

  • testnumero.zip
    9.3 KB · Affichages: 24
  • testnumero.zip
    9.3 KB · Affichages: 27
  • testnumero.zip
    9.3 KB · Affichages: 25

Victor21

XLDnaute Barbatruc
Re : erreur nombre de caractere suite a utilisation du 0

Re,
Que vous saisissiez 123 ou 0123 ne change rien, et amha, ce test est inutile. Mais je ne sais peut-être pas tout...
Regardez si cette validation convient :
VB:
 With Range("C7:IV42")
        .Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, _
             Operator:=xlBetween, Formula1:="0", Formula2:="9999"
    End With
 

pierrejean

XLDnaute Barbatruc
Re : erreur nombre de caractere suite a utilisation du 0

Bonjour à tous

Un essai
Au depart toutes les cellules concernées sont au format Texte (zone jaune)
Apres entrée le nombre s'affiche encore sous forme texte (avec le 0) , mais la cellule est neanmoins en format standard et le nombre peut etre utilisé (dans ce cas il perdra a nouveau les 0 de tête)
 

Pièces jointes

  • testnumero.xls
    40.5 KB · Affichages: 48

GHISLAIN

XLDnaute Impliqué
Re : erreur nombre de caractere suite a utilisation du 0

bonjour Pierrejean,

ta solution permettrai de contourner le probleme mais m'obligerai a effectuer d'enorme changement dans le dossier complet
je pensais a controler la cellule avant le controle des 4 caracteres

donc si le format de ma cellule est egale a "0###" alors on sort sinon je controle le nombre de caractere

ca devrai donner :
If Target.Value = Format(Target.Value, "0###") Then Exit Sub

qu'en penses tu ??

cordialement

ghislain
 

pierrejean

XLDnaute Barbatruc
Re : erreur nombre de caractere suite a utilisation du 0

Re

J'en pense qu'au moment du Woksheet_change, target value vaut 125 si l'on a tapé 0125 (en supposant le format standard pour la cellule)
Si la macro doit interpreter le 0 de tete il est imperatif qu'au depart le format soit au moins texte
Mais ceci n'est qu'un avis personnel et nous avons sur XLD des faiseurs de miracle (souhaitons que l'un d'eux passe par ici)
Non moins Cordialement
 

JCGL

XLDnaute Barbatruc
Re : erreur nombre de caractere suite a utilisation du 0

Bonjour à tous,
Salut PJ,
Salut Patrick,

Sans macro. Utilisation de la Validation et du format Texte sur la plage en jaune (comme préconisé par Victor21).

Pour utiliser les pseudos nombres, il suffit de les multiplier par 1. Ils seront convertis en valeurs numériques.

A + à tous
 

Pièces jointes

  • JC Quatre caractères obligatoirement.xls
    17 KB · Affichages: 34

GHISLAIN

XLDnaute Impliqué
Re : erreur nombre de caractere suite a utilisation du 0

bonjour a tous ,

et merci de vos propositions et aide apportée;
donc apres avoir tourné le probleme dans tous les sens je suis contrain de passer en format texte et de modifier pas mal de formule dans mon classeur finale. du style

=SI(SOMMEPROD((TITREA=M4)*ESTNUM(TABLE))=0;"";SOMMEPROD((TITREA=M4)*ESTNUM(TABLE)))
Par celle ci etc pour les autres formules du classeur
=SI(SOMMEPROD((TITREA=M4)*ESTTEXTE(TABLE))=0;"";SOMMEPROD((TITREA=M4)*ESTTEXTE(TABLE)))

du coup je cree un autre poste pour les validation de données proposé par JCGL qui m'interresse en y apportant une modification

merci a tous
cordialement ghislain
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 011
Membres
101 866
dernier inscrit
XFPRO