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

Comment masquer ou afficher une certaine forme en fonction de la valeur de cellule spécifiée dans Excel?

En fait, une certaine forme peut être masquée ou non masquée en fonction de la valeur d'une cellule spécifiée. La méthode suivante peut vous aider.

Masquer ou afficher une certaine forme en fonction de la valeur de cellule spécifiée avec le code VBA


Masquer ou afficher une certaine forme en fonction de la valeur de cellule spécifiée avec le code VBA


Par exemple, vous souhaitez afficher une certaine forme lorsque vous entrez le numéro 1 dans la cellule A1, ou masquer cette forme si la cellule A1 contient d'autres valeurs. Veuillez exécuter le code VBA suivant pour y parvenir.

1. Cliquez avec le bouton droit sur l'onglet de la feuille qui contient la forme que vous allez masquer ou afficher, puis cliquez sur Voir le code dans le menu contextuel.

2. Puis le Microsoft Visual Basic pour applications la fenêtre apparaît. Veuillez copier et coller le code VBA ci-dessous dans le Code fenêtre.

Code VBA: Masquer ou afficher une certaine forme en fonction de la valeur de cellule spécifiée

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row = 1 And Target.Column = 1 Then _
        Me.Shapes("Oval 6").Visible = (Cells(1, 1).Value = 1)
End Sub

Notes: Dans le code:

1) Ligne = 1 et des tours Colonne = 1 indiquez la cellule spécifique qui se trouve dans la première ligne et la première colonne, Cells (1, 1) est la cellule A1 correspondante.
2) Valeur = 1, le nombre 1 est la valeur spécifique sur laquelle vous souhaitez afficher la forme.
3) "6 ovale»Est le nom de la certaine forme.

Vous pouvez les modifier en fonction de vos besoins.

3. appuie sur le autre + Q touches simultanément pour fermer le Microsoft Visual Basic pour applications fenêtre.

Désormais, lors de la saisie du numéro 1 dans la cellule A1, la forme «Ovale 6» est masquée. Mais si vous entrez une autre valeur telle que le numéro 2 dans la cellule A1, la forme «Ovale 6» est immédiatement masquée.


Articles connexes:


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 (11)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Cela fonctionne très bien pour moi tant que la valeur saisie est un nombre. J'en ai besoin pour travailler sur des lettres comme ABC, etc. : lorsque j'utilise des lettres, cela fonctionne à l'envers, entrez A et il se cache. J'ai besoin qu'il soit visible lorsque j'entre une lettre.
Ce commentaire a été minimisé par le modérateur sur le site
Vous pouvez utiliser des lettres à la place, il vous suffit d'ajouter " de chaque côté. Par exemple Me.Shapes("Oval 6").Visible = (Cells(1, 1).Value = "A")
Ce commentaire a été minimisé par le modérateur sur le site
Que diriez-vous si je veux ajouter deux valeurs comme entrée telles que : Par exemple Me.Shapes("Oval 6").Visible = (Cells(1, 1).Value = "A" Or "B") ?
Ce commentaire a été minimisé par le modérateur sur le site
Me.Shapes("Rounded Rectangle 2").Visible = (Cells(1, 1).Value = "A" Or Cells(1, 1).Value = "B")
Ce commentaire a été minimisé par le modérateur sur le site
Je suis novice en VBA Excel. Je travaille avec ce code et je voudrais l'optimiser. Ce code rend une forme visible sur une cellule active si la valeur est 1, les autres valeurs la masquent. La gamme comprend J13:AC161. Si j'utilise le code ci-dessous, cela me prendra plus de lignes de code. Toute aide sera très appréciée.

Private Sub Worksheet_Change (Cible ByVal en tant que plage)
Si ActiveSheet.Range("E13").Value = 1 Alors
ActiveSheet.Shapes("rt1").Visible = Vrai
autre
ActiveSheet.Shapes("rt1").Visible = Faux
Si fin

Si ActiveSheet.Range("F13").Value = 1 Alors
ActiveSheet.Shapes("rt2").Visible = Vrai
autre
ActiveSheet.Shapes("rt2").Visible = Faux
Si fin

Si ActiveSheet.Range("G13").Value = 1 Alors
ActiveSheet.Shapes("rt3").Visible = Vrai
autre
ActiveSheet.Shapes("rt3").Visible = Faux
Si fin

Si ActiveSheet.Range("H13").Value = 1 Alors
ActiveSheet.Shapes("rt4").Visible = Vrai
autre
ActiveSheet.Shapes("rt4").Visible = Faux
Si fin

Si ActiveSheet.Range("I13").Value = 1 Alors
ActiveSheet.Shapes("rt5").Visible = Vrai
autre
ActiveSheet.Shapes("rt5").Visible = Faux
Si fin

Si ActiveSheet.Range("J13").Value = 1 Alors
ActiveSheet.Shapes("rt6").Visible = Vrai
autre
ActiveSheet.Shapes("rt6").Visible = Faux
Si fin
plus

End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Bonne journée,
Voulez-vous dire que vous souhaitez afficher ou masquer de nombreuses formes spécifiées basées sur des cellules de la plage J13: AC161 avec un code bref ?
Ce commentaire a été minimisé par le modérateur sur le site
Questions 2:

1. Je n'arrive pas à faire fonctionner ce code et je ne comprends pas pourquoi ... copié et collé exactement tel qu'il est là ... aidez-moi !!!


2. comment puis-je le changer pour des formes comme Shapes.Range(Array("Rounded Rectangle 1"))
Ce commentaire a été minimisé par le modérateur sur le site
Salut Gus,
Vous devez manquer quelque chose dans l'opération.
En supposant que le nom de votre forme soit "Rounded Rectangle 1", veuillez copier le code ci-dessous dans la fenêtre de code de la feuille de calcul (cette feuille de calcul doit contenir la forme spécifiée "Rounded Rectangle 1").
Désormais, seule la saisie du numéro 1 dans la cellule A1 peut afficher la forme "Rectangle arrondi 1". Si vous saisissez un autre contenu, la forme sera masquée.

Private Sub Worksheet_Change (Cible ByVal en tant que plage)
Si Target.Row = 1 et Target.Column = 1 Alors _
Moi.Formes("Rectangle arrondi 1").Visible = (Cellules(1, 1).Valeur = 1)
End Sub
Ce commentaire a été minimisé par le modérateur sur le site
Vous avez omis le ":"
Ce commentaire a été minimisé par le modérateur sur le site
Cet article ne donne aucune indication sur la façon dont on obtient le nom d'une forme.

J'ai vérifié le gestionnaire de noms et le gestionnaire d'objets dans VBA ainsi que le menu contextuel - il n'y a pas de menu "Propriétés" pour les formes.

Alors, où est le nom de la forme ?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour Cornan,
Le nom de la forme sera affiché dans la zone Nom de la feuille de calcul lors de la sélection de la forme. Désolé pour le dérangement.
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