OVH Cloud OVH Cloud

Condition type expression régulière

5 réponses
Avatar
TigrouMeow
Bonsoir,

En fait j'aimerais savoir si un certain nombre se finit par un 7 un 8 ou un
9.
Par exemple, j'ai le nombre 6089 dans une case, et j'aimerais faire une
condition qui m'affiche 6080 si le nombre 6089 finit par un 9 (ou un 8 ou un
7)
sinon qui me le ré affiche normalement.

Je pensais utiliser une expression régulière pour ça, mais j'ai pas
l'impression que Excel le gère... sinon j'ai essayé avec des "???7 OU
???8..."
mais ça marche pas non plus :(

Y'a t-il une solution ? Merci :)

--
TigrouMeow ;o)

5 réponses

Avatar
Daniel
Bonsoir.
Pour obtenir le dernier chifffre :=MOD(6089;10)
Cordialement.
Daniel
"TigrouMeow" a écrit dans le message de
news: 42b5dbf6$0$17364$
Bonsoir,

En fait j'aimerais savoir si un certain nombre se finit par un 7 un 8 ou
un 9.
Par exemple, j'ai le nombre 6089 dans une case, et j'aimerais faire une
condition qui m'affiche 6080 si le nombre 6089 finit par un 9 (ou un 8 ou
un 7)
sinon qui me le ré affiche normalement.

Je pensais utiliser une expression régulière pour ça, mais j'ai pas
l'impression que Excel le gère... sinon j'ai essayé avec des "???7 OU
???8..."
mais ça marche pas non plus :(

Y'a t-il une solution ? Merci :)

--
TigrouMeow ;o)



Avatar
Modeste
Bonsour® TigrouMeow
wrote:
j'aimerais faire une condition qui m'affiche 6080 si le nombre 6089 finit
par un 9 (ou un 8 ou un 7)

sinon qui me le ré affiche normalement.


A1`80

=SI(MOD(A1;10)>6;10*ENT(A1/10);A1)

@+

Avatar
TigrouMeow
"Modeste" a écrit dans le message de news:
%
Bonsour® TigrouMeow
wrote:
j'aimerais faire une condition qui m'affiche 6080 si le nombre 6089 finit
par un 9 (ou un 8 ou un 7)

sinon qui me le ré affiche normalement.


A1`80

=SI(MOD(A1;10)>6;10*ENT(A1/10);A1)


C'est logique quand on le lit mais bravo de l'avoir trouvé, je trouve ça
fort :)


Avatar
garnote
Bonsoir,

Ou quelque chose comme :

Private Sub Worksheet_Change(ByVal Target As Range)
ici = Mid(Target, Len(Target), 1)
If ici = 7 Or ici = 8 Or ici = 9 Then Target = Mid(Target, 1, Len(Target) -
1) & "0"
End Sub

Serge


"TigrouMeow" a écrit dans le message de
news: 42b5dbf6$0$17364$
Bonsoir,

En fait j'aimerais savoir si un certain nombre se finit par un 7 un 8 ou
un 9.
Par exemple, j'ai le nombre 6089 dans une case, et j'aimerais faire une
condition qui m'affiche 6080 si le nombre 6089 finit par un 9 (ou un 8 ou
un 7)
sinon qui me le ré affiche normalement.

Je pensais utiliser une expression régulière pour ça, mais j'ai pas
l'impression que Excel le gère... sinon j'ai essayé avec des "???7 OU
???8..."
mais ça marche pas non plus :(

Y'a t-il une solution ? Merci :)

--
TigrouMeow ;o)



Avatar
garnote
ReBonsoir,

Préférable d'ajouter On Error Resume Next
au début de cette macro de feuille.

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
ici = Mid(Target, Len(Target), 1)
If ici = 7 Or ici = 8 Or ici = 9 Then _
Target = Mid(Target, 1, Len(Target) - 1) & "0"
End Sub

ReSerge

"garnote" a écrit dans le message de news:

Bonsoir,

Ou quelque chose comme :

Private Sub Worksheet_Change(ByVal Target As Range)
ici = Mid(Target, Len(Target), 1)
If ici = 7 Or ici = 8 Or ici = 9 Then Target = Mid(Target, 1,
Len(Target) - 1) & "0"
End Sub

Serge


"TigrouMeow" a écrit dans le message de
news: 42b5dbf6$0$17364$
Bonsoir,

En fait j'aimerais savoir si un certain nombre se finit par un 7 un 8 ou
un 9.
Par exemple, j'ai le nombre 6089 dans une case, et j'aimerais faire une
condition qui m'affiche 6080 si le nombre 6089 finit par un 9 (ou un 8 ou
un 7)
sinon qui me le ré affiche normalement.

Je pensais utiliser une expression régulière pour ça, mais j'ai pas
l'impression que Excel le gère... sinon j'ai essayé avec des "???7 OU
???8..."
mais ça marche pas non plus :(

Y'a t-il une solution ? Merci :)

--
TigrouMeow ;o)