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 :

Valeur initiale combobox [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2016
    Messages : 29
    Par défaut Valeur initiale combobox
    Bonjour,

    Mon code actuel permet d'ouvrir un userform dans lequel une combobox est alimentée par une colonne d'un onglet de mon classeur Excel (avec End(xlUp))
    Mon souci est que malgré un combobox1.clear inscrit dans Userform_Initialize, l'userform s'ouvre avec la liste attendue mais sa valeur n'est pas nulle...

    Est-ce normal ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    difficile de te répondre sans voir le code d'alimentation et d'effacement.

    En faisant un .Clear sur un combobox et en le réalimentant, je n'ai aucun souci de mon côté, le .Value est une valeur nulle

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2016
    Messages : 29
    Par défaut
    Voici le code alimentant ma Combobox1 inscrit dans Userform_Initialize :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim i As Integer
     
    For i = 1 To Sheets("Database").Range("A65536").End(xlUp).Row
      ComboBox1 = Sheets("Database").Range("A" & i)
      If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem Sheets("Database").Range("A" & i)
    Next i

    Avec un combobox1.Clear au préalable

  4. #4
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Oui, c'est normal.
    Ceci devrait vous aider et convenir :

    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 UserForm_Initialize()
    Dim i As Integer
    ComboBox1.Clear
    For i = 1 To Sheets("Database").Range("A65536").End(xlUp).Row
        ComboBox1 = Sheets("Database").Range("A" & i)
        If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem Sheets("Database").Range("A" & i)
    Next i
    'Pas de valeur initiale
    ComboBox1.ListIndex = -1
    'valeur initiale = premier item
    'ComboBox1.ListIndex = 0
    'valeur initiale = troisième item
    'ComboBox1.ListIndex = 2
    'etc
    End Sub

  5. #5
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2016
    Messages : 29
    Par défaut
    Ca marche super !!

    Merci beaucoup, sujet résolu.

  6. #6
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Je ne comprend pas pourquoi tu fais un .Clear alors qu'on est sur l'initialisation du userform, où normalement ton combobox est vide ?

    Et je n'arrive pas non plus à reproduire le comportement

    En évitant d'alimenter par une boucle, ça ne va pas mieux ? Attention, s'il y a des doublons, ils ne seront pas évités ... le but est ici de trouver pourquoi tu as ce comportement là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Initialize()
        Me.ComboBox1.List = Application.Transpose(Sheets("Database").Cells(1, 1).CurrentRegion.Value)
    End Sub
    EDIT : décidemment, je suis pas réveillé moi aujourd'hui, j'avais pas vu qu'avant de faire un AddItem tu plaçais l'élément dans le .Value !

    tournée de pour me faire pardonner

  7. #7
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par joe.levrai
    EDIT : décidemment, je suis pas réveillé moi aujourd'hui, j'avais pas vu qu'avant de faire un AddItem tu plaçais l'élément dans le .Value !
    Faute avouée est à moitié pardonnée ==> je te mets également un pouce levé !

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

Discussions similaires

  1. ComboBox valeur initiale
    Par olibara dans le forum C#
    Réponses: 4
    Dernier message: 04/03/2008, 18h23
  2. [MySQL] select et valeur initiale
    Par dleu dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 18/11/2005, 22h16
  3. []probleme affichage valeur dans combobox
    Par gup dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 23/09/2005, 09h22
  4. [JOptionPane.showInputDialog] Valeur initiale + titre
    Par yanndublanche dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 03/08/2005, 14h43
  5. [MFC] comment associer 2 valeurs à une ComboBox
    Par drinkmilk dans le forum MFC
    Réponses: 2
    Dernier message: 13/04/2005, 11h41

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