Contrôle de la saisie des données dans une cellule (Microsoft Excel)
Murray a besoin d’un moyen de contrôler l’entrée des données dans la cellule B1. Si la cellule A1 contient la lettre majuscule «A», l’utilisateur doit pouvoir entrer des données dans la cellule B1. Si la cellule A1 contient autre chose que la lettre majuscule «A», aucune entrée de données ne doit être autorisée dans la cellule B1 et la cellule B1 doit afficher «N / A» (pas la valeur d’erreur # N / A, mais les lettres «N / A « ).
Il y a deux façons d’aborder cela. Une façon consiste à utiliser une macro qui vérifie si A1 contient « A » ou non. Si tel est le cas, la macro conserve tout ce qui se trouve dans la cellule B1, à moins que B1 n’ait été précédemment défini sur «N / A». (Si c’est le cas, alors B1 est effacé.) Si A1 ne contient pas «A», alors tout ce qui se trouve dans la cellule B1 est remplacé par les caractères «N / A».
Private Sub Worksheet_Change(ByVal Target As Range) Dim sTemp As String If Target.Address(False, False) = "A1" Or _ Target.Address(False, False_ = "B1" Then 'Store B1's text in variable sTemp = Range("B1").Text Application.EnableEvents = False If Range("A1").Text = "A" Then If sTemp = "N/A" Then Range("B1") = "" Else Range("B1") = "N/A" End If Application.EnableEvents = True End If End Sub
Notez qu’il s’agit simplement d’une approche macro-basée; il existe de nombreuses autres approches qui pourraient être utilisées, selon le comportement que vous souhaitez avoir si la cellule A1 ou B1 est sélectionnée. Dans le cas de cette macro, elle doit être enregistrée dans le module ThisWorkbook afin qu’elle se déclenche chaque fois que quelque chose est modifié dans la feuille de calcul.
L’autre approche que vous pouvez utiliser n’implique pas du tout de macros. Au lieu de cela, il repose sur une mise en forme conditionnelle. Suivez ces étapes:
-
Sélectionnez la cellule B1.
-
Avec l’onglet Accueil du ruban affiché, cliquez sur l’option Mise en forme conditionnelle dans le groupe Styles. Excel affiche une palette d’options liées à la mise en forme conditionnelle.
-
Cliquez sur Gérer les règles. Excel affiche la boîte de dialogue Gestionnaire de règles de mise en forme conditionnelle.
-
Cliquez sur Nouvelle règle. Excel affiche la boîte de dialogue Nouvelle règle de mise en forme.
-
Dans la zone Sélectionner un type de règle en haut de la boîte de dialogue, choisissez Utiliser une formule pour déterminer les cellules à mettre en forme. (Dans Excel 2013 et Excel 2016, cliquez sur Nouvelle règle, puis sélectionnez Utiliser une formule pour déterminer les cellules à formater.) (Voir la figure 1.)
-
Dans la zone Format des valeurs où cette formule est vraie, entrez ce qui suit: = NOT (EXACT (LEFT (A1,1), « A »)). Cette formule renverra True si la cellule contient ne contient pas la lettre «A» comme première lettre de la cellule.
-
Cliquez sur Format pour afficher la boîte de dialogue Format des cellules.
-
Dans la liste Catégorie, choisissez Personnalisé.
-
Dans la zone Type, entrez ceci: « N / A »; « N / A »; « N / A »; « N / A » (assurez-vous d’inclure les guillemets, comme indiqué).
-
Cliquez sur OK pour fermer la boîte de dialogue Format de cellule. La mise en forme que vous avez spécifiée à l’étape 7 doit maintenant apparaître dans la zone d’aperçu de la règle.
-
Cliquez sur OK. La boîte de dialogue Nouvelle règle de mise en forme disparaît et Excel affiche à nouveau la boîte de dialogue Gestionnaire de règles de mise en forme conditionnelle. La règle que vous venez de définir est répertoriée dans la boîte de dialogue.
-
Cliquez sur OK. Excel applique la mise en forme conditionnelle à la cellule B1.
Le format personnalisé que vous avez défini à l’étape 9 oblige Excel à afficher les lettres «N / A» lorsque la valeur est un nombre (positif, négatif ou zéro)
ou texte. Puisque vous définissez les 4 conditions sur la même chose, elles afficheront toutes «N / A». Cette approche modifie l’affichage, mais elle permet toujours à l’utilisateur d’entrer une valeur dans la cellule B1 – elle ne s’affichera tout simplement pas correctement à moins que la première lettre de la cellule A1 ne soit « A. »
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (13457) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.