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 :

Contenu d'un combobox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Formatrice bureautique
    Inscrit en
    Septembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Formatrice bureautique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 202
    Par défaut Contenu d'un combobox
    Hello l'équipe,

    J'un un formulaire avec un combobox qui se remplit de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CboMoisFin.AddItem "Janvier"
    CboMoisFin.AddItem "Février"
    CboMoisFin.AddItem "Mars"
    CboMoisFin.AddItem "Avril"
    Du coup, le contenu de ma variable CboMoisFin stocke la valeur du mois en texte. J'aurais besoin qu'elle stocke un autre texte du style "01", "02", etc...

    Ma question est la suivante : Est-ce que je peux faire afficher dans ma liste déroulante les valerus Janvier, Février,... et que lorsque je choisis une de ces valeurs, la variable stocke une deuxième valeur du style "01",... ?

    Merci pour votre précision et belle fin de journée,

    Caroline

  2. #2
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Bonjour à tous.

    Une des solutions : utiliser la propriété ListIndex de la combobox.
    Ce qui donnerait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Variable = CboMoisFin.ListIndex + 1
    Cordialement.

  3. #3
    Membre confirmé
    Femme Profil pro
    Formatrice bureautique
    Inscrit en
    Septembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Formatrice bureautique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 202
    Par défaut
    Si je comprend bien, c'est index permet de trier différemment le contenu de la liste ???

    De mon côté, il faudrait que le contenu de ma liste affiche ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CboMoisFin.AddItem "Janvier"
    CboMoisFin.AddItem "Février"
    CboMoisFin.AddItem "Mars"
    CboMoisFin.AddItem "Avril"
    Ces mois correspondent à des feuilles Excel qui s'appelaient avant Janvier, Février, Mars,... Mais pour pouvoir faciliter la navigation dans mes feuilles, j'ai nommé les feuilles 01 à 02. Donc pour l'instant, si je veux que ma liste déroulante fonctionne correctement pour pouvoir aller sur la bonne feuille en fonction du choix de la liste, je dois afficher les 01 à 12 dans ma liste.

    Je préférerais qu'elle affiche les mois en texte Janvier à Décembre mais que derrière, si je choisis janvier dans la liste, la macro devra s'exécuter sur la feuille qui se nomme 01 et non Janvier...

    Je ne sais pas si je suis assez claire...

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Non, pas tout à fait ...

    L'affichage de la Combobox fera toujours apparaitre seulement les mois en texte, tel qu'écrit : "Janvier".
    Par contre, c'est l'index dans la liste de ce control qui sera pris en compte dans la variable (CboMoisFin.Value)
    Attention car la valeur commence à 0, c'est pour cela qu'on ajoute 1 :
    CboMoisFin.ListIndex + 1.

    Mais s'il faut dans votre cas des valeurs en "string" du style "01", alors la solution qui suit fonctionne, il y a sans doute mieux ...

    Ajouter dans la procédure Initialize de l'UserForm concerné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CboMoisFin.ColumnCount = 2
    CboMoisFin.BoundColumn = 2
    CboMoisFin.ColumnWidths = "50;0"
    A la suite du code CboMoisFin.AddItem "Décembre", ajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ComboBox1.Column(1, 0) = "01"
    CboMoisFin.Column(1, 1) = "02"
    CboMoisFin.Column(1, 2) = "03"
    CboMoisFin.Column(1, 3) = "04"
    CboMoisFin.Column(1, 4) = "05"
    CboMoisFin.Column(1, 5) = "06"
    CboMoisFin.Column(1, 6) = "07"
    CboMoisFin.Column(1, 7) = "08"
    CboMoisFin.Column(1, 8) = "09"
    CboMoisFin.Column(1, 9) = "10"
    CboMoisFin.Column(1, 10) = "11"
    CboMoisFin.Column(1, 11) = "12"
    Cordialement.

Discussions similaires

  1. effacer le contenu d'uun combobox
    Par Edta dans le forum Tkinter
    Réponses: 3
    Dernier message: 21/07/2006, 15h22
  2. Recupérer le contenu d'une comboBox
    Par M1000 dans le forum Flash
    Réponses: 1
    Dernier message: 17/05/2006, 10h41
  3. [debutant] Comment récupérer le contenu d'un combobox
    Par Jayceblaster dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 01/05/2006, 21h51
  4. Se deplacer dans le contenu d un combobox
    Par gilles641 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 17/08/2005, 08h02
  5. [MFC][Or not]Enregistrement du contenu de 2 ComboBox
    Par Soulsurfer dans le forum MFC
    Réponses: 4
    Dernier message: 27/05/2004, 11h39

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