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 :

Mise a jour des listes déroulantes


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2021
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Mise a jour des listes déroulantes
    Bonjour!

    Je suis en train de travailler sur VBA et je rencontre une difficulté au niveau de mes listes déroulantes.

    J'en ai 3 , une pour le jour, une pour le mois et une pour l'année.

    Je les ai paramétrées de telle sorte a ce qu'elle ne puisse pas donner de dates fausse par exemple c'est impossible de sélectionner 31 juin 2021 ou 29 février 2021.

    Cela fonctionne bien mais par contre , si j'ai sélectionner par erreur le 31 dans ma liste Jour , ma liste Mois est paramétrée pour me donner seulement les mois où cela est possible et donc si je sélectionne 30 elle ne se met pas a jour.

    Comment je pourrais faire pour mettre a jour mes listes a chaque changement de celle qui les paramètre et non pas seulement au premier changement de ces dernières.

    J'espère que j'ai été clair, n'hésitez pas a me questionner !

    Merci d'avance

    Ewen

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2021
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 334
    Points : 602
    Points
    602
    Par défaut
    Salut, si j'ai bien compris tu veux mettre à jour tes listes a chaque fois qu'il y en a une qui change ?

    Il faut utiliser l’événement change de ta listbox.

    Tu fait 3 fonctions de mise à jour (1 par listbox) et a chaque fois que tu change une des listbox tu appelle les fonction de mise à jour des deux autres.

    Ca me parait être le plus simple.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2021
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    En fait c'est déjà ce que j'ai fait le problème c'est la mise à jour.
    Dans Jour_Change() je paramètre la liste Mois et ca marche bien. Par exemple je rentre 31 en Jour et la liste Mois affiche Janvier,Mars,Mai,Juillet,Aout,Octobre,Décembre donc très bien. Mais si je change le Jour et que je met par exemple 5 , la liste Mois ne se met pas a jour !

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2021
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 334
    Points : 602
    Points
    602
    Par défaut
    Je pense qu'il serait plus simple de nous mettre le morceau de code qui fait la mise a jour

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2021
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    j'ai réussi a filouter et a éviter le problème.


    Cependant, je suis à présent confronté à un autre problème , que je trouve très incohérent:

    J'ai 2 UserForm. Dans l'un je peux ajouter une valeur dans une feuille sur la ligne 2. Cette valeur se vient remplacer la 1ere cellule vide de la ligne en partant de la gauche. Jusque la pas de problème.
    Dans mon autre USF se trouve une liste déroulante qui doit contenir toutes les valeurs de la ligne 2. Pour cela , dans le UserForm_Initialize() je remplis cette ComboBox. Le problème c'est que malgré la paramétrisation dans l'initialisation de l'USF, cette ComboBox ne prend pas en compte les changements récents , c'est a dire les ajout depuis l'ouverture du premier USF.

    Pour que la mise a jour se fasse , il faut que je ferme tout et que je relance mon programme VBA. J'ai mis un bouton pour actualiser la liste déroulante avec EXACTEMENT le même code que dans l'initialisation , avec un .Clear avant tout de même, et cela fonctionne parfaitement.

    Je ne sais pas si j'ai été bien clair je vais mettre un exemple en dessous, j'aimerai bien comprendre ce qui cloche , je pense que je ne saisit pas forcément toute la subtilité de la fonction UserForm_Initialize.


    Exemple:
    Je lance mon programme. Dans ma feuille , la cellule A2= Blanc , et B2= Noir . Dans mon premier USF je rentre dans une TextBox : "Jaune". je clique sur mon bouton Valider et la cellule C2 prend la valeur "Jaune".

    A l'aide d'un bouton j'ouvre mon 2eme USF où ce trouve la fameuse ComboBox récalcitrante. En effet quand je clique dessus , elle m'affiche uniquement "Blanc" et "Noir".
    Pour que le "Jaune" apparaisse je doit quitter le programme VBA et le relancer , ou appuyer sur mon super bouton actuliser.

    Voila j'espere que j'ai été clair , n'hésitez pas à me faire savoir dans le cas contraire

    A vous lire,
    Ewen

Discussions similaires

  1. [AC-2010] mise a jour de liste déroulante
    Par phoenix974 dans le forum IHM
    Réponses: 2
    Dernier message: 12/12/2013, 14h38
  2. [AC-2007] mise a jour de listes déroulantes liées
    Par djas_air dans le forum IHM
    Réponses: 11
    Dernier message: 12/04/2011, 18h17
  3. Réponses: 1
    Dernier message: 20/07/2009, 11h54
  4. Mise a jour de liste déroulante
    Par SnakeCharmer dans le forum IHM
    Réponses: 6
    Dernier message: 27/05/2008, 16h28
  5. pb de mise a jour de liste Déroulante !
    Par Fredri dans le forum Access
    Réponses: 9
    Dernier message: 11/01/2006, 18h27

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