IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

nom onglet dans statusbar


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut nom onglet dans statusbar
    bonjour à tous,

    J'ai ce bout de code qui se trouve dans un module et qui se lance a l'activation du workbook.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub welcomeStatusBar()
     
    Dim d As String
    d = Format(Now(), "dd-mm-yyyy")
    Application.StatusBar = "Welcome" & " / " & Environ("Username") & " / " & d
     
    End Sub
    Je voudrais ajouter au bout de ce code le nom de l'onglet tel qu'affiché dans le classeur et tel qu'affiché dans le code VBA.

    De plus, je voudrais qu'il s'adapte a chaque changement de feuille. Je pensais appeler le code dans un private sub workbook_sheetactivate.

    Merci pour votre aide.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Oui essaie avec cet événement
    Et ajoute Sh.name dans ton statusbar

  3. #3
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut
    ce code est dans un module car j'y fait appel à plusieurs endroits dans mes codes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub welcomeStatusBar()
     
    Dim d As String
    d = Format(Now(), "dd-mm-yyyy")
    Application.StatusBar = "Welcome" & " / " & Environ("Username") & " / " & d
     
    End Sub
    Comment faire appel à cette procédure et ajouter sh.name dans private sub workbook_sheetactivate(byval sh as object)

    Merci

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Par défaut
    et bien .... vous avez presque la réponse il me semple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sub workbook_sheetactivate(byval sh as object)
    .....
    Call welcomeStatusBar(sh)
    End Sub
    et vous modifiez votre welcomeStatusBar pour mettre la worksheet en argument (optionnel ou non)

  5. #5
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut
    Merci pour votre réponse mais n'est-ce pas private sub...

    Je suis un peu débutant en VBA, que voulez vous dire par mettre la worksheet en argument?

  6. #6
    Membre Expert
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Par défaut
    Rebonjour,

    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub welcomeStatusBar(Optional Sh As Worksheet)
     
    Dim d As String
    If Sh Is Nothing Then Set Sh = ActiveSheet
     
    d = Format(Now(), "dd-mm-yyyy")
    Application.StatusBar = "Welcome" & " / " & Environ("Username") & " / " & d & " Sheet " & Sh.Name
     
    End Sub
    et pour l'appeler dans ThisWorkbook:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
     
    Call welcomeStatusBar(Sh)
     
    End Sub

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 174
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    que voulez vous dire par mettre la worksheet en argument ?
    Dans Excel, la plupart des fonctions ont besoin d'un ou plusieurs arguments pour renvoyer une valeur.
    Et bien en VBA, c'est pareil. Si tu souhaites écrire une procédure qui ouvre un fichier, trier un de ces tableaux et ensuite l'exporter avec condition. Au lieu d'écrire plusieurs fonction ou SUb qui font pratiquement la même chose, tu en écris une seule en prévoyant des paramètres.

    Pour faire plus simple.
    Imagine que tu achètes un robot qui ouvre des portes et dont la commande est OUVREPORTE et bien si tu as plusieurs portes, tu lui passeras comme argument le numéro de la prorte à ouvrir soit OUVREPORTE 4 pour la 4ème porte à ouvrir
    Si tu achètes maintenant un robot plus sophistiqué qui ouvre à la fois des portes et des fenêtres, et dont la commande est OUVRE, tu passeras deux arguments. L'un pour indiquer que c'est une porte ou une fenêtre qu'il doit ouvrir et le deuxième pour lui donner le numéro de la porte ou de la fenêtre à ouvrir soit OUVRE "Porte", 3

    Est-ce plus clair ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. [AC-2010] Nom onglet dans un champ
    Par CmzxNene dans le forum VBA Access
    Réponses: 11
    Dernier message: 19/11/2013, 01h09
  2. [XL-2010] Lister Nom des onglets dans mail HTML
    Par cdrik78 dans le forum Excel
    Réponses: 1
    Dernier message: 13/02/2013, 10h28
  3. [XL-2003] Nom d'onglet dans une cellule
    Par Bulledeau dans le forum Conception
    Réponses: 6
    Dernier message: 15/01/2012, 13h35
  4. [XL-2003] Nom onglet dans un code
    Par jorisphi dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/06/2010, 15h27
  5. [XL-2007] Référence à un nom d'onglet dans une formule de calcul
    Par FXdeCadix dans le forum Excel
    Réponses: 2
    Dernier message: 19/05/2010, 17h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo