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 :

quand je selectionne une valeur dans une liste, retourne une autre valeur


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 181
    Points : 79
    Points
    79
    Par défaut quand je selectionne une valeur dans une liste, retourne une autre valeur
    Bonjour,

    dans ma feuille j'ai un bouton, quand je cliques dessus, une form s'affiche ou il deux zone de liste modifiable, la 1ere correspond aux jours de 1 à 31 et la 2eme correspond aux mois de janvier à décembre.

    le probleme, c'est que lors de l'execution quand je choisie le jour 5 dans la liste il me donne une autre valeur, y'a comme un compteur (je vois 5 4 3 et affiche 2), et la meme chose avec la liste des mois.

    voila le code pour le liste des mois:

    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
    Private Sub Liste_Mois_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        Liste_Mois.Clear
        Liste_Mois.AddItem "Janvier"
        Liste_Mois.AddItem "Février"
        Liste_Mois.AddItem "Mars"
        Liste_Mois.AddItem "Avril"
        Liste_Mois.AddItem "Mai"
        Liste_Mois.AddItem "Juin"
        Liste_Mois.AddItem "Juillet"
        Liste_Mois.AddItem "Aout"
        Liste_Mois.AddItem "Septembre"
        Liste_Mois.AddItem "Octobre"
        Liste_Mois.AddItem "Novembre"
        Liste_Mois.AddItem "Décembre"
    End Sub
    SVP c'est dû à quoi?
    Merci

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.

    Tu devrais peut-être éviter d'utiliser l'évènement MouseDown du contrôle liste et charger plutôt la liste à l'ouverture du uForm.

    PGZ

  3. #3
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 181
    Points : 79
    Points
    79
    Par défaut
    et comment je peux faire cela?

  4. #4
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Tu renseignes les listes de valeurs des contrôles de liste à l'ouverture du formulaire.

    Quelque part tu dois avoir une instructionEh bien juste avant tu peux renseigner tes listes.
    Tu peux le faire aussi sur l'évènement Initialize du uForm.

    Et enfin, si tes listes sont toujours les mêmes, pourquoi ne pas les définir en mode création du Uform, en dur, sans utiliser VBA.

    PGZ

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Points : 855
    Points
    855
    Par défaut
    Citation Envoyé par pgz Voir le message
    Et enfin, si tes listes sont toujours les mêmes, pourquoi ne pas les définir en mode création du Uform, en dur, sans utiliser VBA.
    Je me suis toujours demandé comment on pouvait faire ça pour les combobox: je suppose que c'est pareil que pour les listes, donc si tu pouvais me l'expliquer, ça m'éviterait d'avoir à charger mes combobox à la "VBA style" à coups de Userform_Initialise ou Activate.

  6. #6
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour decondelite
    Citation Envoyé par decondelite Voir le message
    Je me suis toujours demandé comment on pouvait faire ça pour les combobox: je suppose que c'est pareil que pour les listes, donc si tu pouvais me l'expliquer, ça m'éviterait d'avoir à charger mes combobox à la "VBA style" à coups de Userform_Initialise ou Activate.
    Pour les listes "en dur", je pratique comme ceci:
    Je crée une feuille de paramètres (Setup), généralement masquée, qui contient entre autre toutes les listes à afficher. Cela facilite leur maintenance.
    Ensuite dans les propriétés de la combobox, il suffit de renseigner la propriété rowsource avec la plage : par exemple Setup!A1:A12
    Variante : tu peux nommer la plage et utiliser le nom pour renseigner RowSource.

    Cordialement,

    PGZ

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Points : 855
    Points
    855
    Par défaut
    Ah mais ça je connaissais déjà: je pensais que tu sortirais quelque chose qui puisse alimenter la liste/combobox juste en tapant du texte quelque part.

Discussions similaires

  1. Réponses: 6
    Dernier message: 02/07/2014, 12h24
  2. Réponses: 2
    Dernier message: 09/02/2011, 14h39
  3. Réponses: 2
    Dernier message: 23/05/2010, 12h45
  4. Réponses: 7
    Dernier message: 27/05/2008, 13h59
  5. Réponses: 4
    Dernier message: 04/11/2007, 13h46

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