Faire automatiquement une valeur de cellules '£ 20.00' si elles entrent une valeur supérieure à '£ 20.00'?


1

est-il possible de créer automatiquement une valeur de cellules '£ 20.00' si l'utilisateur entre une valeur supérieure à '£ 20.00' & si la valeur entrée est inférieure à '£ 20.00', la valeur entrée sera affichée.

Par exemple:

Dans la cellule A1, l'utilisateur entre 12,50 £ et la cellule affiche 12,50 £.

Dans la cellule A2, l'utilisateur entre 21,50 £ mais la cellule n'affiche que 20,00 £.

Ajouter essentiellement une limite stricte à la valeur qui peut être entrée. Je sais que vous pouvez utiliser la validation des données pour ajouter une limite, mais elle ne remplit pas la cellule avec la valeur maximale autorisée si l'utilisateur entre quelque chose au-dessus, elle affiche simplement un avertissement.

Toute aide est la bienvenue!

Réponses:


2

C'est un peu un bodge, mais si vous ne voulez pas utiliser de macros pour changer la valeur réelle, vous pouvez utiliser un format personnalisé pour empêcher la cellule de saisie de données d'afficher des valeurs supérieures à 20 £ (comme dans la réponse de @ PeterH), mais utilisez une cellule cachée pour calculer la valeur que vous voulez utiliser, par exemple

=MIN(A2, 20)

Si vous ne devez utiliser la valeur plafonnée que dans quelques endroits, vous pouvez également incorporer une formule similaire à l'endroit où vous utilisez la valeur.


2

Vous pouvez utiliser un format numérique personnalisé pour cela.

[<20]£00.00;[>=20]"£20.00"

Sélectionnez les cellules auxquelles cela devrait s'appliquer, puis cliquez sur les cellules de format.

Sous l'onglet numéro, sélectionnez Personnalisé et utilisez le format ci-dessus.


Cela affectera-t-il la valeur de la cellule utilisée dans les calculs suivants? ou juste l'affichage?
Kamil Maciorowski

Tandis que cela fonctionne en montrant n'importe quoi au-dessus de £ 20.00 à £ 20.00. Il n'est pas calculé comme tel. Y a-t-il un moyen de contourner cela?
Saxon Rix

Dans Excel, l'utilisation du format conditionnel n'affecte pas la valeur réelle de la cellule. Toutefois, si vous copiez-collez la cellule dans une autre application (par exemple, le Bloc-notes), la valeur affichée sera collée plutôt que celle calculée.
JRI

2

Placez la macro d'événement de feuille de calcul suivante dans la zone de code de la feuille de calcul:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim CheckCells As Range, r As Range, rINT As Range
    Set CheckCells = Range("A2")
    Set rINT = Intersect(CheckCells, Target)

    If rINT Is Nothing Then Exit Sub

    Application.EnableEvents = False
        For Each r In rINT
            If r.Value > 20 Then r.Value = 20
        Next r
    Application.EnableEvents = False
End Sub

Il surveillera les entrées de la cellule A2 et les limitera à 20. Si vous souhaitez appliquer les mêmes restrictions aux autres cellules, vous pouvez le faire en modifiant une seule ligne de code.

Comme il s’agit d’un code de feuille de travail, il est très facile à installer et à utiliser automatiquement:

  1. cliquez avec le bouton droit sur le nom de l'onglet situé au bas de la fenêtre Excel
  2. sélectionnez Afficher le code - une fenêtre VBE apparaît
  3. collez le contenu et fermez la fenêtre VBE

Si vous avez des inquiétudes, essayez d’abord sur une feuille de travail d’essai.

Si vous enregistrez le classeur, la macro sera enregistrée avec celui-ci. Si vous utilisez une version d'Excel ultérieure à 2003, vous devez enregistrer le fichier au format .xlsm au lieu de .xlsx.

Pour supprimer la macro:

  1. faire apparaître les fenêtres VBE comme ci-dessus
  2. effacer le code
  3. ferme la fenêtre VBE

Pour en savoir plus sur les macros en général, voir:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

et

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

Pour en savoir plus sur les macros d'événements (code de feuille de calcul), voir:

http://www.mvps.org/dmcritchie/excel/event.htm

Les macros doivent être activées pour que cela fonctionne!


Merci pour cela. Cependant, j'ai lu que les macros ne fonctionnaient pas dans la version en ligne d'Excel. Bien que j'utilise la version de bureau, les personnes qui utiliseront cette feuille de calcul n'apparaîtront-elles que dans la version en ligne, cette page s'affichera-t-elle toujours correctement en ligne?
Saxon Rix

@SaxonRix ne fonctionnera pas en ligne ............ suggère d'utiliser l'approche de JRI.
Étudiant de Gary
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.