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
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
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
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
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)
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
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
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