Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Barre d'état personnalisable ?

  • Initiateur de la discussion Initiateur de la discussion clq
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

clq

XLDnaute Nouveau
Bonjour à tous,

J'ai une question assez bête mais qui me traquasse. Est-il possible (je pense que si oui c'est par code VBA) de personnaliser la barre d'état en bas des fichiers Excel ?

Parce que je me retrouve souvent à faire des multiplication dans un case mais si cela peut se faire par la barre ce serait top. Je pense aux formes SOMME, MIN, MAX ..

Merci de votre réponse,
Chris
 
Bonsoir

Oui c'est possible (et sans VBA)
Faire un clic-droit sur la barre d'état (quand la sélection active sur la feuille contient des nombres) et choisir la fonction désirée.
Voir ici (par exemple pour les détails)
 
Bonjour à tous

C'est quelque chose comme cela que tu cherches, avec un produit et non une soustraction ?
 

Bonjour Chris,

C'est exactement ce à quoi je pense. Je ne suis pas sûr de bien comprendre les modules de classe mais j'ai modifié pour le produit. Par contre est-il possible de le mettre dans le PERSONAL ? J'ai essayé mais ça n'a pas l'air fonctionner..

Chris
 
Re

Super !

As-tu bien limité à une cellule de chaque côté pour éviter une erreur
VB:
Private Sub MonExcel_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    ' Entre 2 plages de cellules d'une seule cellule
    
    If Target.Areas.Count = 2 Then
        If Target.Areas(1).Cells.Count = 1 And Target.Areas(2).Cells.Count = 1 Then _
           Application.StatusBar = "Produit " & WorksheetFunction.Sum(Target.Areas(1)) * WorksheetFunction.Sum(Target.Areas(2))
    Else
        Application.StatusBar = ""
    End If
        
End Sub
 
Re,

Non, je ne l'ai pas fait parce que quand tu le laisses sans obligation d'une seule cellule il fait une somme à l’intérieur de la plage avant. Je ne sais pas si cela me servira mais je le verrai par la suite 😉
Par contre, j'ai un peu abusé de ton code parce que du coup j'ai rajouté produit, différence, et comme je travaille avec des Francs CFA et Euros j'ai aussi ajouté les conversions avec la mise en forme des données .... 🙄 😀:
VB:
Private Sub MonExcel_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    ' Entre 2 plages de cellules
   
    If Target.Areas.Count = 2 Then
       Application.StatusBar = _
       "Produit : " & Format(WorksheetFunction.Sum(Target.Areas(1)) * WorksheetFunction.Sum(Target.Areas(2)), " #,##0 ") & _
       " / Différence : " & Format(WorksheetFunction.Sum(Target.Areas(1)) - WorksheetFunction.Sum(Target.Areas(2)), "#,##0.00") & _
       " / Conversion € : " & Format(WorksheetFunction.Sum(Target.Areas(1)) / 655.957, "#,##0.00") & _
       " / Conversion FCFA : " & Format(WorksheetFunction.Sum(Target.Areas(1)) * 655.957, " #,##0 ")
    Else
        Application.StatusBar = ""
    End If
End Sub

En tous cas je te remercie vraiment, ça va me changer la vie !

Chris
 
Bonsoir le fil, clq, chris

clq
Dois-je supprimer le message#2 de ta discussion?
Histoire de pas salir...

(Pas de réaction, pas de salutation, ça donne super envie d'aider son prochain fan d'Excel...🙄)
 
Bonjour Staple(JM), Chris, clq et à toutes et tous

Je suis tombé sur le code de @chris je l'ai testé par curiosité
, mais désolé ça ne marche pas chez moi Excel2007.

j'ai donc repris le code.

VB:
Option Explicit
'======================
Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 2 Then
    Application.DisplayStatusBar = True
    Application.StatusBar = "Produit = " & Format(Target(1) * Target(2), "##,##0.00 €")
Else
    Application.StatusBar = ""
End If
End Sub
'======================

A+ Jean-Paul
 

Pièces jointes

Bonjour à tous,

Staple1600 Excuse moi je pensais t'avoir répondu. Merci pour ta réponse.

VIARD, as-tu es essayé le code dans un module simple ou bien dans un module de classe ? Car quand tu vas sur le premier lien que Chris a donné, le complément (xlam) fait intervenir un module de classe en application.
Quand j'essaie ton code sur mon ordi cela ne marche pas non plus. Surement que ça rentre en conflit avec celui qui est sur Personal. Après je l'ai encore modifié depuis le dernier post pour éviter le 1004 quand la première sélection vaut 0 et avoir un somme prod quand les plages sont de même taille.
 
Bonjour à tous

clq: non pas de complément xlam.
par contre, sur mon module doit entré en conflit.
pour ma part mon module fonctionne correctement, pas de souci et simple.

A+ jean-Paul
 
Bonjour à tous
Je suis tombé sur le code de @chris je l'ai testé par curiosité
, mais désolé ça ne marche pas chez moi Excel2007.
Ce code fonctionne pour toute feuille de tout classeur sans ajouter quoi que ce soit aux feuilles ou classeurs, sur la base d'un module de classe.
Il doit donc être installé dans le Personal ou un xlam installé : la classe doit être initialisée.
Si tu testes juste le module hors de ce contexte, sans les 2 autres modules, il est normal que cela ne fonctionne pas.

Ton code est parfait s'il doit s'appliquer au classeur qui contient le module.

Ce sont 2 besoins différents...

Mais cependant tu as confondu cells et areas : ton code ne fonctionne pas pour une double sélection (renvoie soit 0 soit une valeur erronée) et le mien ne marche pas sur une sélection unique car ce n'était pas l'objectif...
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
361
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…