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 :

faire combobox avec la selection [XL-2007]


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
    comptable principal
    Inscrit en
    Octobre 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Autre

    Informations professionnelles :
    Activité : comptable principal
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2010
    Messages : 434
    Par défaut faire combobox avec la selection
    bonjour
    mon classeur contien 5 feuils
    j'ai cree un userform avec un ComboBox qui affiche les 5 feuils
    comment faire un code qui me permettre lorsque je click dans combobox et je click exemple feuil3, la feuil3 est selectionner
    merci
    Fichiers attachés Fichiers attachés

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

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir le forum, iliesss

    un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub ComboBox1_Click()
       Worksheets(ComboBox1.Value).Select
    End Sub
    pour remplir ton combo sans passer par la feuille 5 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub UserForm_Activate()
    Dim nomfl As String, x As Integer
    For x = 1 To Sheets.Count
       nomfl = Sheets(x).Name
       ComboBox1.AddItem nomfl
    Next x
    End Sub
    Bonne soirée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre éclairé
    Homme Profil pro
    comptable principal
    Inscrit en
    Octobre 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Autre

    Informations professionnelles :
    Activité : comptable principal
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2010
    Messages : 434
    Par défaut
    Bonjour mon cher ami
    Je vous remercier pour ta réponse ça marche très bien.
    J’ai lu ton message une heure après la pose de ma question, désolé j’ai pa pu vous répondre car j’ai un problème dans mon PC.
    Merci beaucoup

    salut mon ami
    j'ai essayé de mettre mon ComboBox1 dans les feuils de mon classeur et j'ai modifié ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ComboBox1_Click()
       Worksheets(ComboBox1.Value).Select
    End Sub
    Private Sub Worksheet_Activate()
    Dim nomfl As String, x As Integer
    For x = 1 To Sheets.Count
       nomfl = Sheets(x).Name
       ComboBox1.AddItem nomfl
    Next x
    End Sub
    mes le problème est que les valeurs dans mon combobox1 sont en double

    * Merci *

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

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,
    Je passais par là, enlèves ta propriété RowSource de ton combobox et mets ce code aménagé, dans le code de l'USF :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_Activate()
    Dim ws As Worksheet, x As Integer
    For Each ws In ActiveWorkbook.Worksheets
       ComboBox1.AddItem ws.Name
    Next ws
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour iliesss,

    Je crois comprendre que tu n’utilises pas un formulaire et que ta Combobox est placée dans une feuille.
    En utilisant l’événement Worksheet_Activate, la liste de tes feuilles vient s’ajouter à la liste déjà présente dans ta ComboBox à chaque activation de ta feuille, ce qui explique le doublement de ta liste.
    Pour pallier ce problème, tu peux réinitialiser ta ComboBox à chaque nouvelle activation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_Activate()
        Dim ws As Worksheet, x As Integer
        ComboBox1.Clear
        For Each ws In ActiveWorkbook.Worksheets
            ComboBox1.AddItem ws.Name
        Next ws
    End Sub
    Cordialement.

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

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,

    ce code dans "ThisWorkbook"

    il s'executera à l'ouverture du classeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Workbook_Open()
    Dim ws As Worksheet, x As Integer
    For x = 1 To Sheets.Count
       Sheets(x).ComboBox1.Clear
       For Each ws In ActiveWorkbook.Worksheets
          Sheets(x).ComboBox1.AddItem ws.Name
       Next ws
    Next x
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Membre éclairé
    Homme Profil pro
    comptable principal
    Inscrit en
    Octobre 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Autre

    Informations professionnelles :
    Activité : comptable principal
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2010
    Messages : 434
    Par défaut bonjour
    salut mon ami et merci pour le code
    j'ai essayé ton code dans un fichier "COMBOBOX" mais ça marche pas
    svp voici mon fichier et aider moi a trouver ou est le problème
    Fichiers attachés Fichiers attachés

  8. #8
    Membre éclairé
    Homme Profil pro
    comptable principal
    Inscrit en
    Octobre 2010
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Autre

    Informations professionnelles :
    Activité : comptable principal
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2010
    Messages : 434
    Par défaut
    merci mon ami pour ta reponse mais je veux mettre mon combobox1 dans tous mes feuils excel, pas dans userform
    merci

    merci mon ami c'est exactement ce que je cherche.ça marche trés bien
    une petite question comment copié ce combobox dans touts les feuil excel
    est ce que je doit ecrire ton code dans chaque module classe de chaque feuils
    *merci*

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

Discussions similaires

  1. Faire changer le style d'un élément avec un select
    Par X260SH dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 29/03/2014, 12h02
  2. [INSERT][SELECT] insert avec un select imbriqué
    Par narmataru dans le forum SQL
    Réponses: 11
    Dernier message: 06/03/2013, 03h04
  3. Résultat commençant par un chiffre avec requête SELECT
    Par nicolas.pissard dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/04/2010, 13h31
  4. [ SQL ] Faire un update avec un select imbriqué
    Par zozolh2 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/04/2005, 12h05
  5. [struts][JSP][select] problème avec le select
    Par redge_touch dans le forum Struts 1
    Réponses: 4
    Dernier message: 14/01/2004, 10h05

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