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 :

Accéder à une feuille selon choix dans Combo [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut Accéder à une feuille selon choix dans Combo
    Bonjour à tous,

    Dans un fichier, j'ai 39 feuilles dont 36 correspondent à des noms d'écoles.
    J'ai mis en place un formulaire avec une Combo et 2 boutons (Ok et Fermer)
    Dans la Combo, l'utilisateur a la possibilité de choisir un nom d'école.

    Chaque onglet correspond exactement aux noms proposés dans la Combo.

    Quel code me permettrait d'ouvrir la feuille correspondant au nom choisi dans la Combo ?
    Merci par avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut NEC14 et le forum
    Quel code me permettrait d'ouvrir la feuille correspondant au nom choisi dans la Combo ?
    Sheets(Combo).activate
    A+

  3. #3
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Merci Gorfael

    Il doit y avoir correspondance entre le choix fait dans la Combo et le nom de l'onglet (si je choisi EP PIGACIERE dans la Combo, seule la feuille EP PIGACIERE doit être ouverte (j'ai écrit en majuscules car le nom est écrit en majuscule))
    Je n'ai pas envie d'écrire 36 fois le même code, je recherche donc une procédure raccourcie

  4. #4
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour Nec14,

    Peut-etre t'inspirer de ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub ListBoxARCHIVES_Click()
    Dim nom As String
     
        nom = ListBoxARCHIVES 'represente le chemin complet intégré dans une listbox
        Shell "cmd /c start acrord32.exe """ & nom & """"""
     
    End Sub
    Ps : je viens de relire le post, et autant pour moi (je dis "autant" et pas "au temps", je n'ai pas fait l'armée, comprend qui veux ), j'ai mal lu la question ma propo n'est pas valable, mais je vais encore regarder

    adaptes plutot le code à Gorfael

  5. #5
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Désolé casefayere mais je ne vois pas le rapport avec mon sujet. Ton code permet de retrouver un répertoire, est-ce bien cela ?

    Je ne suis pas un expert, peux-tu m'expliquer comment activer la feuille correspondant au choix fait dans la Combo ?

    Je suis perdu, je n'arrive pas à trouver.

    Oups! on s'est croisé

  6. #6
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour

    je ne vois pas le pb vu la première réponse ?

    Alimente ta combo direct à partir des feuilles, soit comme plus bas, soit cf l'aide vba à Sheets, collection d'objet (utilisation d'un Array), comme ça tu n'as pas de soucis à te faire au niveau correspondance des noms.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_Initialize()
    Dim wksPass As Worksheet
    For Each wksPass In ThisWorkbook.Worksheets
       cboChoice.AddItem wksPass.Name
    Next wksPass
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub cboChoice_Change()
    Dim str As String
        str = cboChoice
        Worksheets(str).Activate
    End Sub
    cordialement,

    Didier

  7. #7
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    oui on s'est croisé, excuses-moi pour ma propo non adéquate mais Gorfael t'a mis sur la piste, si ta combobox se nomme au hasard combo1

    dans l'évènement click de celle-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets(combo1.value).activate
    à moins que je ne sois encore à coté de la plaque

  8. #8
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Merci Casefayere, je n'avais pas bien compris le code proposé.
    C'est plus clair et ça marche.
    Merci à tous et toutes mes excuses à Gorfael de ne pas avoir compris sa proposition (pourtant claire)

  9. #9
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Ma combo a été mise dans un formulaire. J'ai fait ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub CommandButton1_Click()
    Sheets(Cb1.Value).Visible = True
    Sheets(Cb1.Value).Activate
    End Sub
    Mais comment fermer les autres feuilles ?

  10. #10
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for x = 1 to sheets.count
    if sheets(x).name <> Cb1.Value
    sheets(x).visible = false
    next x
    pas essayé mais ça doit etre ça

  11. #11
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Super ça marche.
    Merci beaucoup

  12. #12
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Re gorfael,
    dans ma propo j'imagine bien que la feuille sheets(Cb1.Value) est visible, vu les questions

    Bonne soirée

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

Discussions similaires

  1. [XL-2003] choix de feuille selon critères dans un autre classeur
    Par franxy dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 08/10/2011, 22h36
  2. Réponses: 17
    Dernier message: 15/08/2010, 06h22
  3. Remplissage d'une ListBox selon affichage dans Combo
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/07/2010, 16h52
  4. [XL-2003] Remplir une feuille selon choix ComboBox
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 30/12/2009, 09h41
  5. [AJAX] renseigner des input selon choix dans une liste deroulante
    Par abconcept dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/02/2009, 16h06

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