Affichage de données conditionnelles dans cellule excel
Résolu
matt0592
Messages postés
69
Statut
Membre
-
skk201 Messages postés 942 Date d'inscription Statut Membre Dernière intervention -
skk201 Messages postés 942 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je me trouve en face du problème suivant : je souhaiterais qu'une cellule de mon tableau Excel affiche toujours une valeur comprise entre 0 et 10, quelle que soit la valeur rentrée par l'opérateur. Je m'explique :
- si l'opérateur entre une valeur comprise entre 0 et 10, on ne change rien.
- si l'opérateur entre une valeur comprise entre 10 et 100, on la divise par 10 (comme ça la valeur affichée sera bien entre 0 et 10)
- si l'opérateur entre une valeur comprise entre 100 et 1000, on la divise par 100
Voilà, à priori, l'opérateur ne rentrera jamais de valeur supérieure à 1000.
Quelqu'un saurait-il écrire ce programme ?
Merci d'avance pour votre aide
Je me trouve en face du problème suivant : je souhaiterais qu'une cellule de mon tableau Excel affiche toujours une valeur comprise entre 0 et 10, quelle que soit la valeur rentrée par l'opérateur. Je m'explique :
- si l'opérateur entre une valeur comprise entre 0 et 10, on ne change rien.
- si l'opérateur entre une valeur comprise entre 10 et 100, on la divise par 10 (comme ça la valeur affichée sera bien entre 0 et 10)
- si l'opérateur entre une valeur comprise entre 100 et 1000, on la divise par 100
Voilà, à priori, l'opérateur ne rentrera jamais de valeur supérieure à 1000.
Quelqu'un saurait-il écrire ce programme ?
Merci d'avance pour votre aide
A voir également:
- Affichage de données conditionnelles dans cellule excel
- Mise en forme conditionnelle excel - Guide
- Liste déroulante excel - Guide
- Proteger cellule excel - Guide
- Trier des données excel - Guide
- Aller à la ligne dans une cellule excel - Guide
3 réponses
Bonjour
le nombre en B2
=B2/(10^(ENT(LOG(B2))))
le nombre en B2
=B2/(10^(ENT(LOG(B2))))
skk201
Messages postés
942
Date d'inscription
Statut
Membre
Dernière intervention
54
Super j'y aurais jamais pensé :)
Bonjour
Votre code va utiliser du VBA (Macro). Est-ce que vous saurez ou le placer ?
Votre code va utiliser du VBA (Macro). Est-ce que vous saurez ou le placer ?
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
If IsNumeric(Target.Value) = False Then
Msgbox "Ce
Dim NB as int
NB = Cint(Target.value)
Do
If NB <11 AND NB <0 Then Exit Sub
NB = NB / 10
Loop
End If
End Sub
Je vien de voir une grosse bourde :D
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
If IsNumeric(Target.Value) = False Then
Msgbox ("Ce n'est pas un chiffre")
Exit sub
End if
Dim NB as int
NB = Cint(Target.value)
Do
If NB <11 AND NB <0 Then Exit Sub
NB = NB / 10
Loop
Target = NB
End If
End Sub