Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/09/2011, 23h32   #1
Invité régulier
 
Inscription : décembre 2010
Messages : 32
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 32
Points : 7
Points : 7
Par défaut Affichage combobox plusieurs colonnes

Bonjour à tous,

Etant débutant sous excel, je souhaite pouvoir afficher à l'aide d'une combobox les données comprises sur les colonnes B et C

J'ai tapé le code suivant

Code :
1
2
3
4
5
6
7
8
9
10
11
 
Private Sub UserForm_Activate()
Dim ListeDeroulante As ComboBox
Dim vAdresseDernierPoisson
vAdresseDernierPoisson = Sheets("feuil1").Range("C100").End(xlUp).Address
With ForComboBox
.RowSource = "B2:" & vAdresseDernierPoisson
.ListIndex = 0
 
End With
End Sub
Dans ce cas j'affiche le contenu choisi de ma colonne B et C dans la liste déroulante(ce qui semble logique)

Mais je n'arrive pas a afficher en même temps le contenu de ma colonne B ET C lorsque l'utilisateur à sélectionné la ligne voulu

Pouvez vous m'aider ?

Merci
jerem1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2011, 08h59   #2
Membre Expert
 
Homme Hervé Silve
Inscription : août 2010
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Hervé Silve
Localisation : France

Informations forums :
Inscription : août 2010
Messages : 773
Points : 2 093
Points : 2 093
Bonjour,

Utilise plutôt une ListBox :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
Private Sub UserForm_Initialize()
 
    Dim Plage As Range
 
    With Worksheets("Feuil1")
 
        Set Plage = .Range(.Cells(2, 3), .Cells(.Rows.Count, 4).End(xlUp))
 
    End With
 
    With ListBox1
 
        .ColumnCount = Plage.Columns.Count
        .RowSource = Plage.Address
 
    End With
 
End Sub
 
Private Sub ListBox1_Click()
 
    With ListBox1
 
        MsgBox .Column(0, .ListIndex) & " - " & .Column(1, .ListIndex)
 
    End With
 
End Sub
Hervé.
Theze est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/09/2011, 00h00   #3
Invité régulier
 
Inscription : décembre 2010
Messages : 32
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 32
Points : 7
Points : 7
Par défaut Est ce enviseagable avec une combobox ?

Et je ne peux vraiment pas effectuer cela avec une combobox (pour avoir une liste déroulante => Plus pratique)

Merci d'avance
jerem1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2011, 08h37   #4
Membre Expert
 
Homme Hervé Silve
Inscription : août 2010
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Hervé Silve
Localisation : France

Informations forums :
Inscription : août 2010
Messages : 773
Points : 2 093
Points : 2 093
Bonjour,

Tu peux en forcer l'affichage :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
Private Sub UserForm_Initialize()
 
    Dim Plage As Range
 
    With Worksheets("Feuil1")
 
        Set Plage = .Range(.Cells(2, 3), .Cells(.Rows.Count, 4).End(xlUp))
 
    End With
 
    With ComboBox1
 
        .ColumnCount = Plage.Columns.Count
        .RowSource = Plage.Address
 
    End With
 
End Sub
 
Private Sub ComboBox1_Click()
 
    With ComboBox1
 
        .Text = .Column(0, .ListIndex) & " - " & .Column(1, .ListIndex)
 
    End With
 
End Sub
Hervé.
Theze est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h10.


 
 
 
 
Partenaires

Hébergement Web