Barre d'état nombre de ligne

Bonjour à tous.

Je souhaite savoir si il est possible d'avoir le nombre de ligne dans la barre d'état d'Excel. Quand je sélectionne 5 lignes, je souhaite que dans la barre d'état il est écrit lignes : 5

Je suis sur Excel 2016

Cordialement Le fast

Merci pour vos réponses

Bonjour Le Fast,

Ci-dessous un exemple de code qui te permet de faire apparaître le nombre de lignes en barre d'état.

Si une seule colonne est choisie et plusieurs lignes en sélection.

A adapter selon besoin dans la partie code de la feuille visée.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim str, col As String
If Target.Count > 1 Then
'Vérifie si sélection d'une colonne et plusieurs lignes
str = Target.Address(RowAbsolute, ColumnAbsolute)
col = Chr(64 + Target.Column): str = Replace(str, col, "")
For N = 1 To Len(str)
If Mid(str, 1, 1) >= "A" Then Application.StatusBar = "": Exit Sub
Next N
'Indication du nombre de lignes 
Application.StatusBar = "Nbre de lignes : " & Target.Count
End If
End Sub

Merci beaucoup

Et pour des versions plus récentes, ce n'ai pas directement intégré ?

Bonjour,

Waouh, super boulot Xcellus ! Je n'avais jamais pensé à interagir avec la barre d'état !

Comme j'ai bien aimé ça, j'ai regardé le code. En l'état actuel des choses, si on sélectionne la ligne entière ou même seulement plusieurs colonnes, cela donne en fait le nombre de cellules dans la sélection.

Petite modification donc pour que ça ne compte à chaque fois que le nombre de lignes.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim str, col As String
If Target.Count > 1 Then
'Vérifie si sélection d'une colonne et plusieurs lignes
str = Target.Address(RowAbsolute, ColumnAbsolute)
nb = Range(str).Columns.Count
col = Chr(64 + Target.Column): str = Replace(str, col, "")
For N = 1 To Len(str)
If Mid(str, 1, 1) >= "A" Then Application.StatusBar = "": Exit Sub
Next N
'Indication du nombre de lignes
Application.StatusBar = "Nbre de lignes : " & Target.Count / nb
End If
End Sub

Bonjour Le Fast, JoyeuxNoel,

En effet,

A adapter selon besoin dans la partie code de la feuille visée.

Ravi que cela te plaise pour un bon usage.

Par contre, et j'ai oublié de l'écrire dans mon précédent message.

Dans le Workbook_BeforeClose(Cancel as Boolean)

préciser que la barre de statut soit vide afin de ne pas garder l'info sur les autres classeurs à ouvrir.

Donc

Application.StatusBar = ""

@Le Fast,

Pour l'instant il existe plusieurs infos intégrés à la barre de statut par MicroSoft.

Mais il ne peut prévoir du sur-mesure pour chaque utilisateur. Sinon faire une demande en masse...

A nouveau,

Simplification de la macro. Avec l'aimable participation de JoyeuxNoel.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Vérifie si sélection de plusieurs lignes et/ou colonnes
If Target.Count > 1 Then
Nb = Target.Rows.Count: Nc = Target.Columns.Count
'Indication du nombre de lignes / colonnes
Application.StatusBar = Nb & " ligne(s) par " & Nc & " colonne(s)"
Else: Application.StatusBar = ""
End If
End Sub

Ah ben super la participation. J'ai juste divisé un nombre par une variable.

Et la division n'est même plus là ☺️.

Joli travail en tout cas.

Bonjour à tous,

si, c'est intégré depuis longtemps.
Ca s'inscrit dans zone de la référence en cours au moment de la sélection.
Ca disparait lorsque tu relâches le bouton de la souris.

image

eric

Bonjour à tous

Je n'avais jamais pensé à interagir avec la barre d'état !

En réponse à une demande d'un forum j'avais créé un code dans un xlam pour afficher dans la barre d'état la différence entre 2 sélections puisqu'on n'a que les fonctions statistiques possibles

Ceci de façon permanente et non liée à une feuille ou classeur particulier...

Ce post m'a donné l'idée de mélanger les 2 :

  • deux plages sélectionnées, on a la différence
  • une plage de plus d'une cellule on a le nombre de lignes et colonnes

Code à mettre dans le module ThisWorkbook du fichier xlam

Option Explicit

Dim WithEvents App As Excel.Application

Private Sub Workbook_Open()
  Set App = Excel.Application
End Sub
Private Sub App_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    ' Différence Entre 2 plages de cellules
    ' ou nombre lignes et colonnes de la sélection

Dim nb As Long, Nc As Long

    On Error GoTo Eexit
    If Target.Areas.Count = 2 Then
       Application.StatusBar = "Différence : " & WorksheetFunction.Sum(Target.Areas(1)) - WorksheetFunction.Sum(Target.Areas(2))
    ElseIf Target.Count > 1 Then
        nb = Target.Rows.Count: Nc = Target.Columns.Count
        'Indication du nombre de lignes / colonnes
        Application.StatusBar = nb & " ligne(s) par " & Nc & " colonne(s)"
    Else
        Application.StatusBar = ""
    End If

Exit Sub
exitsub:
On Error GoTo Eexit
Application.StatusBar = ""
Eexit:
Exit Sub
End Sub

Bonjour à tous,

@eriiic, voir Ici.

@chris, joli ! Pourquoi cette déclaration en tant qu'excel.application ?

C'est bon tout ça, ça donne des idées ! Reste plus qu'à leur trouver une utilité ☺️.

RE

Pourquoi cette déclaration en tant qu'excel.application ?

Pour que cela fonctionne sur tout classeur ouvert par l'appli Excel

Joyeux noël, c'était pour répondre à son interrogation :

Et pour des versions plus récentes, ce n'ai pas directement intégré ?

pas là où il l'attendait, mais c'est intégré.
Pas été à la pêche aux doublons avant de répondre D'ailleurs aucun commentaire de sa part sur la proposition, il aurait pu...
eric

Bonjour eriiic.

Merci pour ta proposition, désolé de ne pas avoir répondu plus tôt mais ce n'était pas la réponse que j'attendais car je souhaite avoir les lignes dans la barre d'état. T'inquiète pas je connais assé Excel pour savoir ce genre de petits tips que tu m'as donné.

En tout cas merci d'avoir participer.

Cordialement le fast

Rechercher des sujets similaires à "barre etat nombre ligne"