Note: The other languages of the website are Google-translated. Back to English
English English

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 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éeplus
  • 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 gammesplus
  • 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 cellulesplus
  • 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 PDFplus
  • 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
Commentaires (4)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Salut! Excellent article. Une question : si, au lieu d'un groupe cohérent de cellules, je souhaite appliquer cela dans différentes parties de la feuille (par exemple, A1:A2 ET A6:A8), existe-t-il un moyen de le faire avec la solution VBA ? C'est-à-dire : comment remplacer le "A1:A1000" par plusieurs ensembles de cellules ?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour GB,
Pour appliquer ce code à plusieurs plages, veuillez utiliser le code suivant :

Remarque : lorsque vous utilisez ce code, vous devez d'abord cliquer avec le bouton droit sur l'onglet de la feuille, puis cliquer sur Afficher le code dans le menu contextuel, puis copier le code suivant dans le module.

Private Sub Worksheet_Change (Cible ByVal en tant que plage)
'Mettre à jour par Extendoffice
Const sRg As String = "A1:A10,B1:B10,C1:C20" 'Séparez les plages par des virgules
Dim xRg As Range
Dim xSRg As Range
En cas d'erreur GoTo err_exit :
Application.EnableEvents = False
Définir xSRg = Plage(sRg)
Si non intersecter (cible, xSRg) n'est rien alors
Pour chaque xRg dans la cible
Si Gauche(xRg.Valeur, 1) <> "-" Alors
xRg.Valeur = xRg.Valeur * -1
Si fin
xRg suivant
Si fin
erreur_sortie :
Application.EnableEvents = True
End Sub

S'il vous plaît essayez, j'espère que cela peut vous aider!
Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup! Très utile.
Ce commentaire a été minimisé par le modérateur sur le site
Comment changer la mise en forme automatique avec ce code de Devise à Comptabilité ?
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés