ComboBox - Selection par défaut

Bonjour ,

Travaillant avec des comboBox , mon code fonctionne parfaitement , cependant il existe un petit problème qui m'embête.

En fait , lorsque j'affiche mon comboBox contenant diffèrents mots grâce a un tableau , lors de la première apparition du blanc est selectionné par défaut puis celui ci part lorsque je valide une de mes valeurs.

Je voudrais que ce blanc ne s'affiche plus , ne soit plus selectionné par défaut.

Voici mon code :

Private Sub UserForm_Activate()

    Dim Ensemblepro
    Dim y
    y = 0
    Set Ensemblepro = Sheets("Projet").Range("C2")

    If Projet.CodeProjet.ListCount = 0 Then
        While Ensemblepro.Offset(y, 0) <> ""
            CodeProjet.AddItem Ensemblepro.Offset(y, 0)
            y = y + 1
        Wend

    End If

End Sub

Si vous pouviez m'aider pour ce problème , merci.

Cordialement .

Bonjour,

Tout dépend de quelle valeur tu voudrais par défaut ...

Me.ComboBox1.Text = Me.ComboBox1.List(0)

Bonjour ,

Je voudrais que la valeur par défaut soit la première valeur de mon tableau . Cependant cette première valeur change en fonction de sur quel valeur nous avons précédemment cliqué dans le ComboBox (elle change aussi dans le comboBox).

Le problème est vraiment sur le premier affichage du comboBox.

Voici mon code permettant le changement dans la premiere valeur dans le comboBox comme dans le tableau :

 If ActiveCell.Column = 6 Then 'clic droit sur la colonne affaire
       Projet.Show

        Dim X
        Dim numpro
        Dim designationpro
        Dim codepro
        Dim Ensemblepro
        Dim haha As Range

        Set designationpro = Sheets("Projet").Range("B2")
        Set codepro = Sheets("Projet").Range("A2")
        Set Ensemblepro = Sheets("Projet").Range("C2")

        numpro = Projet.CodeProjet.List(Projet.CodeProjet.ListIndex) 'Recupère la valeur du projet choisis
        recup = Projet.CodeProjet.ListIndex ' Sers à savoir la ligne du projet choisis
        Projet.CodeProjet.RemoveItem recup ' Supprimer la ligne du projet choisis
        Projet.CodeProjet.AddItem numpro, 0 'Remonte le projet choisis en premier dans le combobox

        X = 0

        While codepro.Offset(X, 0) <> ""
            If numpro = "" Then Selection.Value = ""
            If numpro = Ensemblepro.Offset(X, 0) Then

                Selection.Value = codepro.Offset(X, 0).Value 'Affiche la désignation du projet choisis
                Selection.Offset(0, 1).Value = "IMP01" 'Affiche IMP01 dans la cellule à côté

                If X > 0 Then

                   Tcodepro = codepro.Offset(X, 0).Value 'Place le code du projet choisi dans une variable temporaire
                   Tdesignationpro = designationpro.Offset(X, 0).Value 'Place la designation du projet choisi dans une variable temporaire
                   TEnsemblepro = Ensemblepro.Offset(X, 0).Value 'Place lensemble designation + code du projet dans une variable temporaire

                   While X > 0

                        codepro.Offset(X, 0).Value = codepro.Offset(X - 1, 0).Value 'Tel cellule de la colonne A vaut la cellule au dessus
                        designationpro.Offset(X, 0).Value = designationpro.Offset(X - 1, 0).Value 'Tel cellule de la colonne B vaut la cellule au dessus
                        Ensemblepro.Offset(X, 0).Value = Ensemblepro.Offset(X - 1, 0).Value 'Tel cellule de la colonne C vaut la cellule au dessus
                        X = X - 1

                   Wend
                    Sheets("Projet").Range("A2").Value = Tcodepro 'Le premier numéro de projet est celui choisis en dernier
                    Sheets("Projet").Range("B2").Value = Tdesignationpro 'La première désignation de projet est celui choisi en dernier
                    Sheets("Projet").Range("C2").Value = TEnsemblepro 'Le premier ensemble de projet est celui choisi en dernier

                End If

            End If
            X = X + 1
        Wend

    End If

Si ce n'est pas possible , c'est pas grave

J'ai essayé ta méthode et cela m'affiche une erreur.

Merci .

Cordialement.

Re,

Je ne sais pas quel test ... tu as effectué ...

Le code est à placer dans le module UserForm_Initialize() ...

Re ,

En plaçant le code dans le module que tu m'a dis , cela ne fonctionne toujours pas une erreur s'affiche ... Erreur d'éxécution 94 utilisation incorrect du null ...

Re,

Tu peux tester

Me.ComboBox1.ListIndex = 0

Re,

Toujours pas ... erreur d'éxécution 380 cette fois ci ...

Re,

Est-ce que tu as la possibilité de joindre ton fichier ...???

Bonjour ,

Non désolé , je ne peut pas joindre mon fichier ...


Re,

C'est bon j'ai trouvé , j'ai mis le code que tu m'a dis cependant au lieu de le mettre dans le module initialize je l'ai mis en dessous de mon if permettant de remplir le comboBox.

 Private Sub UserForm_Activate()

    Dim Ensemblepro
    Dim y
    y = 0
    Set Ensemblepro = Sheets("Projet").Range("C2")

    If Projet.CodeProjet.ListCount = 0 Then

        While Ensemblepro.Offset(y, 0) <> ""
            CodeProjet.AddItem Ensemblepro.Offset(y, 0)
            y = y + 1
        Wend

    End If

    Projet.CodeProjet.ListIndex = 0

End Sub

Merci beaucoup ... !

Cordialement.

Eul Vedette

Bonjour,

Content que tu aies trouvé la solution ...

Merci pour tes remerciements

Rechercher des sujets similaires à "combobox selection defaut"