Bonjour.
Je cherche a imposer dans une saisie un nombre max de 2 décimales.
Le format de la cellule est à 2 décimales ->OK pour l'affichage.
Mais l'utilisateur peut taper 3 ou 4 décimales.
Ce que je cherche à eviter.
Données->Validation (les données sont en décimales et comprises entre 0 et 20)
Comment faire ?
D'avance merci.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Claude Trouet
Bonjour, une solution, peut-être pas la plus simple ! dans le module VBA de la feuille, copier ceci , en considérant que c'est en colonne D que l'on veut les nombres avec 2 décimales cela n'empêche pas l'utilisateur de rentrer 10 chiffres derrières la virgule, mais 2 seulement seront prises en compte sans même qu'il y ait d'arrondi sur la 2ème décimale
Private Sub Worksheet_Change(ByVal Target As Range) If Not (IsNull(Intersect(Range("D:D"), Target))) Then separe = InStr(Target.Value, ",") 'position de la virgule nbdecimal = Len(Target) - separe 'nbre de décimales If nbdecimal > 2 Then Target = Mid$(Target, 1, separe - 1) & "," & Mid$(Target, separe + 1, 2) End If End If End Sub
Cela convient ? CT
a écrit dans le message de news:
Bonjour. Je cherche a imposer dans une saisie un nombre max de 2 décimales. Le format de la cellule est à 2 décimales ->OK pour l'affichage. Mais l'utilisateur peut taper 3 ou 4 décimales. Ce que je cherche à eviter. Données->Validation (les données sont en décimales et comprises entre 0 et 20) Comment faire ? D'avance merci.
Bonjour,
une solution, peut-être pas la plus simple !
dans le module VBA de la feuille, copier ceci , en considérant que c'est en
colonne D
que l'on veut les nombres avec 2 décimales
cela n'empêche pas l'utilisateur de rentrer 10 chiffres derrières la
virgule,
mais 2 seulement seront prises en compte sans même qu'il y ait d'arrondi sur
la 2ème décimale
Private Sub Worksheet_Change(ByVal Target As Range)
If Not (IsNull(Intersect(Range("D:D"), Target))) Then
separe = InStr(Target.Value, ",") 'position de la virgule
nbdecimal = Len(Target) - separe 'nbre de décimales
If nbdecimal > 2 Then
Target = Mid$(Target, 1, separe - 1) & "," & Mid$(Target, separe
+ 1, 2)
End If
End If
End Sub
Cela convient ?
CT
<prioux@ensma.fr> a écrit dans le message de news:
2fc36a11.0411030232.1ca695a9@posting.google.com...
Bonjour.
Je cherche a imposer dans une saisie un nombre max de 2 décimales.
Le format de la cellule est à 2 décimales ->OK pour l'affichage.
Mais l'utilisateur peut taper 3 ou 4 décimales.
Ce que je cherche à eviter.
Données->Validation (les données sont en décimales et comprises entre 0 et
20)
Comment faire ?
D'avance merci.
Bonjour, une solution, peut-être pas la plus simple ! dans le module VBA de la feuille, copier ceci , en considérant que c'est en colonne D que l'on veut les nombres avec 2 décimales cela n'empêche pas l'utilisateur de rentrer 10 chiffres derrières la virgule, mais 2 seulement seront prises en compte sans même qu'il y ait d'arrondi sur la 2ème décimale
Private Sub Worksheet_Change(ByVal Target As Range) If Not (IsNull(Intersect(Range("D:D"), Target))) Then separe = InStr(Target.Value, ",") 'position de la virgule nbdecimal = Len(Target) - separe 'nbre de décimales If nbdecimal > 2 Then Target = Mid$(Target, 1, separe - 1) & "," & Mid$(Target, separe + 1, 2) End If End If End Sub
Cela convient ? CT
a écrit dans le message de news:
Bonjour. Je cherche a imposer dans une saisie un nombre max de 2 décimales. Le format de la cellule est à 2 décimales ->OK pour l'affichage. Mais l'utilisateur peut taper 3 ou 4 décimales. Ce que je cherche à eviter. Données->Validation (les données sont en décimales et comprises entre 0 et 20) Comment faire ? D'avance merci.
Claude Trouet
Re bonjour, pour qu'un nombre soit affiché ....fonction Str ajoutée
Private Sub Worksheet_Change(ByVal Target As Range) If Not (IsNull(Intersect(Range("D:D"), Target))) Then separe = InStr(Target.Value, ",") nbdecimal = Len(Target) - separe If nbdecimal > 2 Then Target = Str(Mid$(Target, 1, separe - 1) & "," & Mid$(Target, separe + 1, 2)) End If End If End Sub
Bonne journée CT
a écrit dans le message de news:
Bonjour. Je cherche a imposer dans une saisie un nombre max de 2 décimales. Le format de la cellule est à 2 décimales ->OK pour l'affichage. Mais l'utilisateur peut taper 3 ou 4 décimales. Ce que je cherche à eviter. Données->Validation (les données sont en décimales et comprises entre 0 et 20) Comment faire ? D'avance merci.
Re bonjour,
pour qu'un nombre soit affiché ....fonction Str ajoutée
Private Sub Worksheet_Change(ByVal Target As Range)
If Not (IsNull(Intersect(Range("D:D"), Target))) Then
separe = InStr(Target.Value, ",")
nbdecimal = Len(Target) - separe
If nbdecimal > 2 Then
Target = Str(Mid$(Target, 1, separe - 1) & "," & Mid$(Target,
separe + 1, 2))
End If
End If
End Sub
Bonne journée
CT
<prioux@ensma.fr> a écrit dans le message de news:
2fc36a11.0411030232.1ca695a9@posting.google.com...
Bonjour.
Je cherche a imposer dans une saisie un nombre max de 2 décimales.
Le format de la cellule est à 2 décimales ->OK pour l'affichage.
Mais l'utilisateur peut taper 3 ou 4 décimales.
Ce que je cherche à eviter.
Données->Validation (les données sont en décimales et comprises entre 0 et
20)
Comment faire ?
D'avance merci.
Re bonjour, pour qu'un nombre soit affiché ....fonction Str ajoutée
Private Sub Worksheet_Change(ByVal Target As Range) If Not (IsNull(Intersect(Range("D:D"), Target))) Then separe = InStr(Target.Value, ",") nbdecimal = Len(Target) - separe If nbdecimal > 2 Then Target = Str(Mid$(Target, 1, separe - 1) & "," & Mid$(Target, separe + 1, 2)) End If End If End Sub
Bonne journée CT
a écrit dans le message de news:
Bonjour. Je cherche a imposer dans une saisie un nombre max de 2 décimales. Le format de la cellule est à 2 décimales ->OK pour l'affichage. Mais l'utilisateur peut taper 3 ou 4 décimales. Ce que je cherche à eviter. Données->Validation (les données sont en décimales et comprises entre 0 et 20) Comment faire ? D'avance merci.
ru-th
Salut
Validation la formule est pour c2 =SI(ESTERR(NBCAR(C2)-TROUVE(".";C2;1));VRAI;SI(NBCAR(C2)-TROUVE(".";C2;1)<3; VRAI;FAUX)) a+ rural thierry a écrit dans le message de news:
Bonjour. Je cherche a imposer dans une saisie un nombre max de 2 décimales. Le format de la cellule est à 2 décimales ->OK pour l'affichage. Mais l'utilisateur peut taper 3 ou 4 décimales. Ce que je cherche à eviter. Données->Validation (les données sont en décimales et comprises entre 0 et 20)
Comment faire ? D'avance merci.
Salut
Validation la formule est pour c2
=SI(ESTERR(NBCAR(C2)-TROUVE(".";C2;1));VRAI;SI(NBCAR(C2)-TROUVE(".";C2;1)<3;
VRAI;FAUX))
a+
rural thierry
<prioux@ensma.fr> a écrit dans le message de news:
2fc36a11.0411030232.1ca695a9@posting.google.com...
Bonjour.
Je cherche a imposer dans une saisie un nombre max de 2 décimales.
Le format de la cellule est à 2 décimales ->OK pour l'affichage.
Mais l'utilisateur peut taper 3 ou 4 décimales.
Ce que je cherche à eviter.
Données->Validation (les données sont en décimales et comprises entre 0 et
20)
Validation la formule est pour c2 =SI(ESTERR(NBCAR(C2)-TROUVE(".";C2;1));VRAI;SI(NBCAR(C2)-TROUVE(".";C2;1)<3; VRAI;FAUX)) a+ rural thierry a écrit dans le message de news:
Bonjour. Je cherche a imposer dans une saisie un nombre max de 2 décimales. Le format de la cellule est à 2 décimales ->OK pour l'affichage. Mais l'utilisateur peut taper 3 ou 4 décimales. Ce que je cherche à eviter. Données->Validation (les données sont en décimales et comprises entre 0 et 20)
Comment faire ? D'avance merci.
AV
Pour limiter la saisie à des valeurs numériques et avec un maxi de 2 décimales : Validation --> personnalisée :
=(NBCAR(A1)-NBCAR(TRONQUE(A1))-1)<=2
AV
Pour limiter la saisie à des valeurs numériques et avec un maxi de 2 décimales :
Validation --> personnalisée :
Pour limiter la saisie à des valeurs numériques et avec un maxi de 2 décimales : Validation --> personnalisée :
=(NBCAR(A1)-NBCAR(TRONQUE(A1))-1)<=2
AV
RaMA
Bonjour Formule de validation =(C2*100)-(ENT(C2*100))=0 Salutations RaMa -- . "AV" a écrit dans le message de news:
Pour limiter la saisie à des valeurs numériques et avec un maxi de 2 décimales : Validation --> personnalisée :
=(NBCAR(A1)-NBCAR(TRONQUE(A1))-1)<=2
AV
Bonjour
Formule de validation
=(C2*100)-(ENT(C2*100))=0
Salutations
RaMa
--
.
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message de news:
OO77ntawEHA.384@tk2msftngp13.phx.gbl...
Pour limiter la saisie à des valeurs numériques et avec un maxi de 2
décimales :
Validation --> personnalisée :
Bonjour Formule de validation =(C2*100)-(ENT(C2*100))=0 Salutations RaMa -- . "AV"
Pour limiter la saisie à des valeurs numériques et avec un maxi de 2 décimales : Validation --> personnalisée : =(NBCAR(A1)-NBCAR(TRONQUE(A1))-1)<=2 AV
Cela fonctionne très bien pour 5 ou encore pour 5,2 mais je ne m'explique vraiment pas pourquoi le nombre 5,1 n'est pas accepté.
Le mercredi 03 Novembre 2004 à 16:13 par RaMA :
> Bonjour
> Formule de validation
> =(C2*100)-(ENT(C2*100))=0
> Salutations
> RaMa
> --
> .
> "AV"
>
>> Pour limiter la saisie à des valeurs numériques et avec un maxi
>> de 2
>> décimales :
>> Validation --> personnalisée :
>>
>> =(NBCAR(A1)-NBCAR(TRONQUE(A1))-1)<=2
>>
>> AV
>>
>>
>>
Cela fonctionne très bien pour 5 ou encore pour 5,2 mais je ne m'explique vraiment pas pourquoi le nombre 5,1 n'est pas accepté.
Bonjour Formule de validation =(C2*100)-(ENT(C2*100))=0 Salutations RaMa -- . "AV"
Pour limiter la saisie à des valeurs numériques et avec un maxi de 2 décimales : Validation --> personnalisée : =(NBCAR(A1)-NBCAR(TRONQUE(A1))-1)<=2 AV
Cela fonctionne très bien pour 5 ou encore pour 5,2 mais je ne m'explique vraiment pas pourquoi le nombre 5,1 n'est pas accepté.