Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

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 Data > 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 Permettre section, choisissez Décimal dans la liste déroulante;

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

(3.) Enfin, entrez le numéro 0 into the Courant 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.


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement 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!
bas de cabine
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    FC · 1 years ago
    How do I change the automatic formatting with this code from Currency to Accounting ?
  • To post as a guest, your comment is unpublished.
    GB · 2 years ago
    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?
    • To post as a guest, your comment is unpublished.
      skyyang · 1 years ago
      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!
      • To post as a guest, your comment is unpublished.
        GB · 1 years ago
        Super, thanks! Very helpful.