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 :

Liste déroulante avec données texte = un chiffre


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Liste déroulante avec données texte = un chiffre
    Bonjour,

    Désolé pour l'intitulé du poste qui peut paraitre "incompréhensible".

    Voila : je cherche tout "simplement" a attribuer un chiffre a une valeur texte dans une liste déroulante.

    L'exemple : janvier = 1 , février = 2 etc... jusqu'a decembre = 12.
    Lorsqu'on selectionne par exemple "Janvier" dans la liste cela sert au calcul d'interet. Donc 'sous' janvier on aurait "1" qui permettrait de faire le calcul avec un pourcentage qui donnerait l'interet en € dans une autre cellule.. je sais pas si je suis tres explicite ? :/

    En gros en selectionnant un mois, on genere les calculs, mais d'interface on a que le texte et nom une autre case avec le chiffre correspondant au mois.

    est ce VBA ? ou peut on y arriver autrement ?
    Merci de votre soutien.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    tu peux y arriver sans vba
    1 ta liste de mois dois etre nommée. (insertion/nom/définir) disons qu'on l'appelle "listemois"
    2 tu crée une liste de validation dans ta cellule (donnée/validation puis accepter liste et =listemois
    3 dans une autre cellule tu inscris la formule
    ou A3 est la cellule qui contient ta liste de validation bien sur
    et dans cette cellule apparaitra le numero dont tu as besoin, qui n'est pas la tranformation du nom de mois en chiffre, mais l'index de la position de ce mois dans la liste déroulante

  3. #3
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    pour répondre à ta question
    je cherche tout "simplement" a attribuer un chiffre a une valeur texte dans une liste déroulante.
    tu peux utiliser l'index du texte choisi + 1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ComboBox1.ListIndex + 1
    Jérôme

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par alsimbad Voir le message
    tu peux y arriver sans vba
    1 ta liste de mois dois etre nommée. (insertion/nom/définir) disons qu'on l'appelle "listemois"
    2 tu crée une liste de validation dans ta cellule (donnée/validation puis accepter liste et =listemois
    3 dans une autre cellule tu inscris la formule
    ou A3 est la cellule qui contient ta liste de validation bien sur
    et dans cette cellule apparaitra le numero dont tu as besoin, qui n'est pas la tranformation du nom de mois en chiffre, mais l'index de la position de ce mois dans la liste déroulante
    Merci pour votre aide,
    j'ai fait ce que vous me proposez cela fonctionne jusqu'a Septembre, mais au dela ca bug, j'ai bien septembre=9 puis octobre=8 , novembre=8, decembre= #NA
    ??? d'ou vient le probleme ??
    edit = juillet = 2 et aout=#NA aussi ?
    etrange

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par jfontaine Voir le message
    pour répondre à ta question

    tu peux utiliser l'index du texte choisi + 1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ComboBox1.ListIndex + 1
    J'y comprend rien...

    tu peux expliquer en détail ?

    je ten remercie.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour Larson14,

    Il s'agit d'une liste créée à partir de "Données", "Validation" ?

    Dans ce cas dans la cellule devant contenir le N° du mois vous tapez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MOIS("01 " & INDEX(listemois;1))
    mais n'oubliez pas les accents (Février et non Fevrier, Août et non Aout, Décembre et non Decembre)

  7. #7
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    renvoi le numero d'ordre du mois choisis. Comme les index sont de base 0 c'est a dire que le premier de la liste se trouve en position 0, si on choisi Janvier, ComboBox1.ListIndex renverra 0.
    C'est pour ca que l'on ajoute 1 pour avoir le bon numero de mois
    Jérôme

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par jacques_jean Voir le message
    Bonjour Larson14,

    Il s'agit d'une liste créée à partir de "Données", "Validation" ?

    Dans ce cas dans la cellule devant contenir le N° du mois vous tapez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =MOIS("01 " & INDEX(listemois;1))
    mais n'oubliez pas les accents (Février et non Fevrier, Août et non Aout, Décembre et non Decembre)
    Un grand merci ! cela fonctionne impécablement bien !

    Bonne continuation à tous.

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    je comprend pas

    je suis peut etre mal reveillé ce matin, mais je n'arrive pas a reproduire ce post
    j'ai crée ma listemois en a1:a12
    ma cellule avec liste validation en b1 =listemois
    ma cellule devant afficher le N° en b2 =EQUIV(B1;listemois)-1 affiche carrément n'importe quoi
    et enfin en b3 la formule de jacque jean =MOIS("01 " & INDEX(listemois;1)) et qui affiche 1 sans jamais changer
    alors quand je vois ça :
    Citation Envoyé par larson14
    Un grand merci ! cela fonctionne impécablement bien !
    je me dis que j'ai du subir une mutation ou une regréssion du neurone cette nuit. merci de m'expliquer

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Le code que j'ai :

    Dans la cellule qui doit afficher le N° en b2 tu mets
    =MOIS("01 "& INDEX(J36;1))

    ou 'J36' est la case de ta liste de validation (liste deroulante).

    et j'ai défini la plage "mois" a1:a12 via "insertion/nom/definir/"

    essaies ca !

  11. #11
    Invité
    Invité(e)
    Par défaut
    Bonjour Larson14 et Alsimbad,

    Il est vrai que l'on a toujours du mal à comprendre pourquoi cela pourrait fonctionner pour l'un et non pour l'autre.

    C'est mon cas.

    Alors à toutes fins utiles regardez si sur le fichier joint ça fonctionne chez vous.
    Dernière modification par Invité ; 29/07/2008 à 18h39.

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par jacques_jean Voir le message
    Bonjour Larson14 et Alsimbad,

    Il est vrai que l'on a toujours du mal à comprendre pourquoi cela pourrait fonctionner pour l'un et non pour l'autre.

    C'est mon cas.

    Alors à toutes fins utiles regardez si sur le fichier joint ça fonctionne chez vous.
    Oui cela fonctionne parfaitement

  13. #13
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    effectivement, le fichier fonctionne chez moi. du coup, je comprend la manip qui consiste a passer par le 1er juillet plustot que par l'index de la liste déroulante. et je comprend aussi pourquoi cela ne fonctionnait pas chez moi. c'est la liste des mois en a1:a12 que j'avais appelé listemois, et pas la case avec la liste déroulante. merci de l'explication

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/04/2011, 15h24
  2. Liste déroulante avec image + texte
    Par androidInnovation dans le forum Android
    Réponses: 3
    Dernier message: 09/12/2010, 13h53
  3. liste déroulante avec image à côté du texte
    Par laurentSc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 26/11/2008, 15h22
  4. Liste déroulant avec des données d'une bd
    Par kapi dans le forum JDBC
    Réponses: 4
    Dernier message: 18/07/2007, 22h30
  5. liste déroulante avec données mysql
    Par fab44 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 24/02/2005, 19h45

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