Informations utiles dans la barre d'état

Quelqu'un aime, mais j'ai personnellement besoin d'une barre d'état uniquement dans 2-3 cas :

  • après filtrage, il affiche le nombre de valeurs restant après la sélection
  • lorsqu'une plage est sélectionnée, elle affiche la somme, la moyenne et le nombre de cellules sélectionnées
  • dans le cas de fichiers lourds, vous pouvez voir la progression du recalcul des formules dans le livre.

Pas tant pour une ligne qui occupe presque toute la largeur de l'écran et s'y accroche tout le temps. Essayons d'élargir cette modeste liste et d'y ajouter quelques fonctionnalités utiles supplémentaires 🙂

Principes généraux de gestion de la barre d'état

La gestion de la barre d'état avec Visual Basic est très simple. Pour y afficher votre texte, vous pouvez utiliser une simple macro :

Sub MyStatus() Application.StatusBar = "Привет!" Sous-titre de fin  

Après l'avoir lancé, on obtient :

Informations utiles dans la barre d'état

Pour restaurer l'état d'origine de la barre d'état, vous aurez besoin du même "anti-macro" court :

Sub MyStatus_Off() Application.StatusBar = False End Sub  

Dans la version de base, comme vous pouvez le voir, tout est très simple. Essayons maintenant de développer l'idée…

Adresse de la plage sélectionnée dans la barre d'état

 Dans le coin supérieur gauche de la fenêtre Excel dans la barre de formule, vous pouvez toujours voir l'adresse de la cellule actuelle. Mais si une plage entière est sélectionnée, alors, malheureusement, nous n'y verrons pas l'adresse de sélection - la même cellule active unique est affichée :

Informations utiles dans la barre d'état

Pour résoudre ce problème, vous pouvez utiliser une simple macro qui affichera l'adresse de la zone sélectionnée dans la barre d'état. De plus, cette macro devrait être lancée automatiquement, avec tout changement dans la sélection sur n'importe quelle feuille - pour cela nous la placerons dans le gestionnaire d'événements SélectionModifier notre livre.

Ouvrez Visual Basic Editor à l'aide du bouton du même nom de l'onglet promoteur (Développeur) ou raccourcis clavier Alt gauche + F11. Trouvez votre livre dans le coin supérieur gauche du panneau Projet et ouvrez le module qu'il contient en double-cliquant Ce livre (Ce cahier de travail):

Dans la fenêtre qui s'ouvre, copiez et collez le code macro suivant :

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Selection.Address(0, 0) End Sub  

Désormais, lorsqu'une plage est sélectionnée (y compris plusieurs !), son adresse s'affiche dans la barre d'état :

Informations utiles dans la barre d'état

Pour éviter que les adresses de plusieurs plages sélectionnées avec Ctrl ne fusionnent, vous pouvez ajouter une petite amélioration - utilisez la fonction Remplacer pour remplacer une virgule par une virgule par un espace :

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Replace(Selection.Address(0, 0), ",", ", ") End Sub  

Nombre de cellules sélectionnées dans la barre d'état

Lorsqu'une plage est sélectionnée, le nombre de cellules sélectionnées non vides s'affiche par défaut sur le côté droit de la barre d'état. Parfois, vous avez besoin de connaître le nombre d'alloués. Cette tâche peut également être accomplie avec une simple macro pour gérer l'événement de livre SelectionChange, comme dans l'exemple précédent. Vous aurez besoin d'une macro comme :

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Dim CellCount As Variant, rng As Range For Each rng In Selection.Areas 'Itérer à travers toutes les sélections RowsCount = rng.Rows.Count 'nombre de lignes ColumnsCount = rng.Columns . Count 'nombre de colonnes CellCount = CellCount + RowsCount * ColumnsCount 'accumule le nombre total de cellules Next 'affiche dans la barre d'état Application.StatusBar = "Selected: " & CellCount & " cells" End Sub  

Cette macro parcourt toutes les zones sélectionnées par Ctrl (s'il y en a plusieurs), stocke le nombre de lignes et de colonnes dans chaque zone dans les variables RowsCount et ColumnsCount, et accumule le nombre de cellules dans la variable CellCount, qui est ensuite affiché dans la barre d'état. Au travail, cela ressemblera à ceci:

Informations utiles dans la barre d'état

Bien sûr, vous pouvez combiner ceci et les macros précédentes pour afficher à la fois l'adresse de la plage sélectionnée et le nombre de cellules en même temps. Il suffit de changer une avant-dernière ligne pour :

Application.StatusBar = "Sélectionné : " & Remplacer(Selection.Address(0, 0), ",", ", ") & " - total " & CellCount & " cellules"  

Ensuite, l'image sera tout à fait merveilleuse:

Informations utiles dans la barre d'état

Eh bien, je pense que vous avez compris l'idée. Suggérez dans les commentaires - quoi d'autre serait utile d'afficher dans la barre d'état ?

  • Que sont les macros, comment fonctionnent-elles, comment les utiliser et les créer
  • Sélection pratique des coordonnées sur une feuille Excel
  • Comment rendre les formules complexes plus visuelles

Soyez sympa! Laissez un commentaire