Passer au contenu principal

Comment autoriser uniquement les nombres négatifs dans Excel?

Dans Excel, comment autoriser uniquement la saisie de nombres négatifs? Cet article présente quelques astuces utiles et rapides pour vous permettre de résoudre cette tâche.

Autoriser uniquement les nombres négatifs dans Excel avec la validation des données

Autoriser uniquement les nombres négatifs dans Excel avec le code VBA


flèche bleue bulle droite Autoriser uniquement les nombres négatifs dans Excel avec la validation des données

Normalement, le Validation des données La fonction peut vous aider, procédez comme suit:

1. Sélectionnez les cellules ou la colonne que vous souhaitez autoriser uniquement à saisir des nombres négatifs, puis cliquez sur Données > Validation des données > Validation des données, voir capture d'écran:

doc n'autoriser que le négatif 1

2. Dans le Validation des données boîte de dialogue, sous la Paramètres onglet, effectuez les options suivantes:

(1.) Dans le Autoriser section, choisissez Décimal dans la liste déroulante;

(2.) Dans le Données section, veuillez choisir inférieur ou égal à l'option;

(3.) Enfin, entrez le numéro 0 into the Maximum zone de texte.

doc n'autoriser que le négatif 2

3. Puis clique OK, et maintenant, seuls les nombres négatifs et 0 sont autorisés à être entrés, si un nombre positif est entré, il affichera un message d'avertissement, voir capture d'écran:

doc n'autoriser que le négatif 3


flèche bleue bulle droite Autoriser uniquement les nombres négatifs dans Excel avec le code VBA

Voici un code VBA qui peut également vous aider, avec le code suivant, lorsque vous entrez un nombre positif, il sera automatiquement converti en négatif, procédez comme suit:

1. Cliquez avec le bouton droit sur l'onglet de la feuille pour lequel vous souhaitez autoriser uniquement les nombres négatifs, puis choisissez Voir le code dans le menu contextuel, dans le popped out Microsoft Visual Basic pour applications fenêtre, veuillez copier et coller le code suivant dans l'espace vide Module:

Code VBA: autoriser uniquement les nombres négatifs dans la feuille de calcul:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Const sRg As String = "A1:A1000"
    Dim xRg As Range
    On Error GoTo err_exit:
    Application.EnableEvents = False
    If Not Intersect(Target, Range(sRg)) Is Nothing Then
        For Each xRg In Target
            If Left(xRg.Value, 1) <> "-" Then
                xRg.Value = xRg.Value * -1
            End If
        Next xRg
    End If
err_exit:
    Application.EnableEvents = True
End Sub

doc n'autoriser que le négatif 4

Notes: Dans le code ci-dessus, A1: A1000 correspond aux cellules que vous souhaitez saisir uniquement en nombres négatifs.

2. Ensuite, enregistrez et fermez ce code, revenez en arrière dans la feuille de calcul et maintenant, lorsque vous entrez des nombres positifs dans les cellules que vous avez spécifiées dans le code, les nombres positifs seront automatiquement convertis en nombres négatifs.

Meilleurs outils de productivité bureautique

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Centre de ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...

Description


Office Tab apporte une interface à onglets à Office et facilite grandement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
How do I change the automatic formatting with this code from Currency to Accounting ?
This comment was minimized by the moderator on the site
Hi! Great article. One question: if, instead of a coherent group of cells, I want to apply this in different parts of the sheet (e.g. A1:A2 AND A6:A8), is there a way to do that with the VBA solution? I.e.: how do I replace the "A1:A1000" with several sets of cells?
This comment was minimized by the moderator on the site
Hello, GB,
To apply this code for multiple ranges, please use the following code:

Note: when using this code, first, you should right click the sheet tab, and then click View code from the context menu, and then copy the following code into the module.

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
Const sRg As String = "A1:A10,B1:B10,C1:C20" 'Separate the ranges by commas
Dim xRg As Range
Dim xSRg As Range
On Error GoTo err_exit:
Application.EnableEvents = False
Set xSRg = Range(sRg)
If Not Intersect(Target, xSRg) Is Nothing Then
For Each xRg In Target
If Left(xRg.Value, 1) <> "-" Then
xRg.Value = xRg.Value * -1
End If
Next xRg
End If
err_exit:
Application.EnableEvents = True
End Sub

Please try, hope it can help you!
This comment was minimized by the moderator on the site
Super, thanks! Very helpful.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations