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 :

Combobox vide démarrage ouverture userform [XL-2013]


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
    Enseignant
    Inscrit en
    Juin 2015
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2015
    Messages : 211
    Par défaut Combobox vide démarrage ouverture userform
    Bonjour à toutes et à tous,

    Voilà, cela fait une bonne petite heure que je ne trouve pas réponse à ma question. J'imagine qu'elle a déjà été posée plusieurs fois.....


    Quand je lance mon userform dans lequel figure plusieurs Combobox, je voudrais que la sélection précédente ( précédente ouverture ) n'apparaisse pas mais plutôt voir la combobox vide. J'ai regardé dans les propriétés et fait plusieurs essais mais rien n'y fait.
    Est-ce que quelqu'un peut m'aider ?

    Merci d'avance.

    Novice72

  2. #2
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Salut

    As-tu essayé


  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Si tu déchargeais ton usf après l'avoir utilisé, tu n'aurais pas ce genre de problème.

    Pour rappel, un userform ne sert qu'à saisir des données, le traitement de celles-ci devant être effectué hors du userform. Dès lors, le schéma est le suivant:
    • Chargement du usf en mémoire(implicite ou explicite);
    • transfert dans le usf des données nécessaire à son fonctionnement;
    • affichage du usf;
    • saisie des données par l'utilisateur au sein du usf;
    • masquage du usf;
    • utilisation des saisies du usf au sein de la procédure appelante;
    • libération du usf (déchargement).
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2015
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2015
    Messages : 211
    Par défaut
    Bonsoir et merci à tous les deux pour vos réponses.

    igloobel : J'ai essayé ton code avec l'écriture exacte que tu m'as donnée ---> Ne fonctionne pas du tout.
    Comme le nom de ma combobox est "matiere2", j'ai essayé Mamatiere2combobox.clear ( ne fonctionne pas non plus )
    de même en mettant : matiere2combobox.clear.

    Peut-être n'ai-je pas tout compris ????


    Pierre Fauconnier :

    L'affichage de l'userform se fait par ---> nom.show
    donc qu'entends-tu par chargement ? ( chargement = affichage non ???? )
    Peux-tu aussi m'expliquer " chargement mémoire EXPLICITE et IMPLICITE ??????????

    Encore merci pour votre aide.

    Je vais continuer de chercher...


    Bonne soirée.

    NOVICE72

  5. #5
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par Novice72 Voir le message
    Comme le nom de ma combobox est "matiere2", j'ai essayé Mamatiere2combobox.clear ( ne fonctionne pas non plus )
    de même en mettant : matiere2combobox.clear.
    Si le nom c'est matiere2 et rien d'autre, cela devrait être :


  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Pour faire simple, avant d'afficher ton combobox, décharge-le.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    unload userform1
    userform1.show
    Remplace évidemment userform1 par le nom de ton userform


    Citation Envoyé par Novice72 Voir le message
    [...]
    donc qu'entends-tu par chargement ? ( chargement = affichage non ???? )[...]
    Non, je dirais que c'est l'inverse: affichage = chargement d'abord (sauf si le userform est déjà chargé)

    Citation Envoyé par Novice72 Voir le message
    [...]
    Peux-tu aussi m'expliquer " chargement mémoire EXPLICITE et IMPLICITE ??????????[...]
    Chargement explicite: load userform1
    Chargement implicite: tout appel au userform (show, bien sûr, mais aussi tout code qui manipule le userform)

    Dans ce message, j'explique les étapes au travers d'un exemple.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2015
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2015
    Messages : 211
    Par défaut
    Merci à tous,

    Mon problème est résolu. la seule solution que j'ai trouvé pour résoudre mon problème c'est de vider les cellules de la feuille qui sert de "rowsource"
    j'ai bien essayé avec "matiere2.clear" mais
    soit je n'ai pas trouvé vraiment où placer cette ligne de code
    soit, elle me provoquait une erreur ( il devait y avoir un conflit entre matiere2.clear et la rowsource ).

    Encore une fois, je vous remercie tous.


    Novice72

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Ok.

    Dans ton premier message, tu parlais d'effacer la sélection, c'est pourquoi je t'ai aiguillé vers Unload Userform.

    Mais vu tes dernières précisions, je comprends mieux ton problème, et l'impossibilité de le résoudre autrement que comme tu l'as fait.

    En effet, si ton combobox est lié à une plage de données, tu ne saurais pas le vider (sans vider la plage) et donc, tu ne saurais pas utiliser combobox.clear.

    Pour résoudre ce problème, supprime la liaison entre la plage et le comobobox, et alimente ton combobox via ton userform en utilisant sa propriété List, qui te permettra de récupérer une plage (ou autre chose), mais aussi de la présenter vide au démarrage.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

Discussions similaires

  1. ComboBox vide lors de l'execution
    Par Yein-Yein dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 14/10/2007, 16h04
  2. Mettre certains champs d'un userform a vide à l'ouverture
    Par Ercohuma59 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/08/2007, 17h36
  3. Réponses: 14
    Dernier message: 21/06/2007, 13h55
  4. [VBA-E]Combobox reste vide à l'ouverture du Userform
    Par cacolac78 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/02/2007, 12h00
  5. Formulaires vides à l'ouverture
    Par laurentabj dans le forum Access
    Réponses: 2
    Dernier message: 27/12/2006, 15h32

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