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 :

[vba-xl 03] barre d'outil perso


Sujet :

Macros et VBA Excel

  1. #1
    jpo
    jpo est déconnecté
    Membre régulier
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 201
    Points : 118
    Points
    118
    Par défaut [vba-xl 03] barre d'outil perso
    salut
    -j'ai créer une barre d'outil qui se créer à l'ouverture du fichier : OK
    -dans cette barre, il y a une liste déroulante qui liste les 50 feuilles de mon classeur : OK

    le pb :
    je ne sais pas comment faire pour activer la feuille en question qd je clic sur le bouton de la liste déroulante ....

    un bout de code ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    [...]
     Set feuille = labarre.Controls.Add(msoControlPopup)
         With feuille
         feuille.Caption = "Choix &Feuille"
              For Each ws In Worksheets
                       Set Button = feuille.Controls.Add(msoControlButton)
                          Button.Caption = ws.Name
                          Button.OnAction = "OuvrFeuille"
             Next ws
          End With
    End Sub
    ..........
    Sub OuvrFeuille()
          Sheets(???).Activate
    End Sub
    il doit y avoir un passage de paramètre à faire, je sais pas trop .....
    sinon je peux faire 50 macro pour mes 50 feuilles mais il doit y avoir + efficace ....
    j'espere avoir été asssez clair ....
    si vous avez des idées ... merci !

    jp

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Où se trouve le nom de tes feuilles ?

  3. #3
    jpo
    jpo est déconnecté
    Membre régulier
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 201
    Points : 118
    Points
    118
    Par défaut
    Salut

    Le nom des feuilles je le place dans le caption...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Button.Caption = ws.Name
    d'où la boucle For Each


    je peux peut etre jouer avec l'index des feuilles?
    mais comment passer en paramètres ? je coince

    merci
    jp

  4. #4
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 50
    Points : 41
    Points
    41
    Par défaut Avec les classes d'objet
    Tu trouveras surement solution à ton pb sur cette discussion
    Savoir sur quel bouton créé dynamiquement l'utilisateur a cliqué

  5. #5
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    sans critiquer la source de Pierre, je me permets de proposer une solution peut être un peu plus courte ...

    j'imagine que ça doit marcher pour les boutons d'une barre d'outils ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Sub boutons()
        Dim sh As Worksheet
        Dim bt As Button
        Dim count As Long
     
     
        ' sub qui crée un bouton par onglet ...
        For Each sh In ActiveWorkbook.Sheets
            Set bt = ActiveSheet.Buttons.Add(10, 10 + (25 * count), 108, 21)
            count = count + 1
            bt.OnAction = "GotoSheet"
            bt.Caption = "Aller sur => " & sh.Name
        Next sh
     
        Set bt = Nothing
        Set sh = Nothing
    End Sub
     
     
    Sub gotosheet()
        Dim str As String
        ' récupère le texte du bouton qui a été cliqué
        str = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text
        ' active la feuille désignée par le clic
        Sheets(Split(str, "=> ")(1)).Activate
    End Sub

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    bonsoir



    Comment savoir quel bouton d'une barre personnalisée a été cliqué ?



    Et sinon pour faire vraiment plus court ... ;o)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CommandBars("Workbook tabs").ShowPopup 400, 100


    bonne soirée
    michel

  7. #7
    jpo
    jpo est déconnecté
    Membre régulier
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 201
    Points : 118
    Points
    118
    Par défaut
    merci à tous pour toutes ces tres tres bonnes infos !
    j'ai de quoi tester now !

    encore merci !!

    good job !
    jp

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Afficher image+text sur une barre d'outils perso. créée via VBA
    Par skk201 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/11/2013, 10h57
  2. Eclaircissements sur les barres d'outils perso
    Par La Zélie dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/06/2008, 21h24
  3. Problème avec une barre d'outil "perso"
    Par semyr dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/01/2008, 15h09
  4. [VBA-E 2003] barre d'outils aperçu avant impression
    Par jpo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/08/2007, 17h56
  5. [VBA WORD] barre d'outil perso
    Par meufeu dans le forum VBA Word
    Réponses: 9
    Dernier message: 21/09/2005, 21h46

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